Salt la conținutul principal

Cum să însumați numerele între paranteze numai în Excel?

Dacă există o listă de șiruri de text și doriți doar să adăugați toate numerele între paranteze, așa cum se arată în imaginea de mai jos, cum o puteți rezolva rapid? În acest articol, vă introduc câteva trucuri pentru a rezuma numerele între paranteze numai în Excel.


Suma numerelor între paranteze numai cu formula

Pentru a însuma numai numerele între paranteze, puteți extrage mai întâi numerele care sunt între paranteze și apoi le puteți adăuga.

1. Selectați o celulă goală lângă celula pe care doriți să o însumați între paranteze, de exemplu, B2, introduceți această formulă
=IF(ISERROR(MID(A1,FIND("(",A1)+1,(FIND(")",A1))-(FIND("(",A1)+1))),0,(MID(A1,FIND("(",A1)+1,(FIND(")",A1))-(FIND("(",A1)+1)))+0),
și apoi trageți mânerul de umplere automată în jos pentru a extrage numerele care sunt între paranteze din fiecare celulă. Vedeți captura de ecran:
numere de sumă doc între paranteze 2

varful: în formulă, A1 este celula din care doriți să extrageți numerele din paranteze.

2. Selectați o celulă în care veți plasa rezultatul însumării, introduceți = SUMĂ (B1: B8), și apăsați Intrați cheie. Vedeți captura de ecran:
numere de sumă doc între paranteze 3

Sfat: în formulă, B1: B8 este numerele pe care le-ați extras din lista originală de șiruri de text și doriți să rezumați.


Suma numerelor între paranteze numai cu funcția definită

De asemenea, puteți aplica o funcție definită pentru a suma numerelor între paranteze.

1. presa Alt + F11 taste pentru activare Microsoft Visual Basic pentru aplicații fereastră, faceți clic pe Insera > Moduleși lipiți codul de mai jos pe scriptul gol.

VBA: Suma numerelor între paranteze

Function SumBracket(Target As Range) As Double
'UpdatebyExtendoffice20160901
Dim xCell As Range
Dim xObjs As Object, xObj As Object
Dim xSum As Double
Set xObjs = CreateObject("VBScript.RegExp")
xSum = 0
With xObjs
    .Global = True
    .Pattern = "\((\d+(\.\d+)?)\)"

    For Each xCell In Target
      If xCell.Value <> "" Then
        For Each xObj In xObjs.Execute(xCell.Value)
            xSum = xSum + xObj.submatches(0)
        Next
      End If
    Next
End With
SumBracket = xSum
End Function

numere de sumă doc între paranteze 4

2. Salvați codul și mergeți pentru a selecta o celulă care va plasa rezultatul și introduceți această formulă = SumBracket (A1: A8), presa Intrați cheie. Vedeți captura de ecran:
numere de sumă doc între paranteze 5


Sumați numerele între paranteze numai cu Kutools pentru Excel

De fapt, cu Kutools pentru Excel'S Extrageți textul funcție pentru a extrage numerele între paranteze și apoi aplicați Suma valorilor absolute funcție pentru a însuma numerele.

Kutools pentru Excel, cu mai mult de 300 funcții la îndemână, vă face munca mai ușoară. 

După instalare Kutools pentru Excel, faceți următoarele :(Descărcați gratuit Kutools pentru Excel acum!)

1. Selectați șirurile pe care doriți să extrageți numerele între paranteze și faceți clic pe Kutools> Text > Extrageți textul. Vedeți captura de ecran:
numere de sumă doc între paranteze 6

2. În Extrageți textul dialog, introduceți (*) în Text casetă text și faceți clic pe Adăuga pentru a-l adăuga la Extrageți lista. Apoi apasa Ok, și pentru a selecta o celulă pentru a plasa numerele extrase în caseta de dialog popping, de exemplu C1. Vedeți captura de ecran:

Notă: Dacă există alte reguli de extragere în Extrageți lista secțiune, debifați aceste reguli de extragere și verificați numai noua regulă de extragere adăugată a (*).


numere de sumă doc între paranteze 7 împușcat săgeată dreapta numere de sumă doc între paranteze 8

3. clic OK, iar acum numerele dintre paranteze sunt extrase. În mod implicit, numerele dintre paranteze sunt recunoscute ca negative, trebuie să le însumați valorile absolute.
numere de sumă doc între paranteze 9

4. Selectați o celulă la care veți plasa rezultatul calculului, faceți clic pe Kutools > Formula Helper > Math & Trig > Suma valorilor absolute. Vedeți captura de ecran:
numere de sumă doc între paranteze 10

5. În Formula Helper , selectați intervalul în care conține numerele extrase Număr textbox, C1: C8 în acest caz. Clic Ok, au fost adăugate valorile absolute ale numerelor. Vedeți captura de ecran:

numere de sumă doc între paranteze 11 împușcat săgeată dreapta numere de sumă doc între paranteze 12

Bacsis. Dacă doriți să aveți o încercare gratuită a Extrageți textul și Suma valoare absolutăfuncția s, vă rugăm să descărcați gratuit Kutools pentru Excel mai întâi, apoi mergeți pentru a aplica operația conform pașilor de mai sus.

Cele mai bune instrumente de productivitate de birou

Caracteristici populare: Găsiți, evidențiați sau identificați duplicatele   |  Ștergeți rândurile goale   |  Combinați coloane sau celule fără a pierde date   |   Rundă fără Formula ...
Super căutare: VLookup cu mai multe criterii    VLookup cu valori multiple  |   VLookup pe mai multe foi   |   Căutare fuzzy ....
Listă derulantă avansată: Creați rapid o listă derulantă   |  Listă drop-down dependentă   |  Listă derulantă cu selectare multiplă ....
Manager de coloane: Adăugați un număr specific de coloane  |  Mutați coloanele  |  Comutați starea vizibilității coloanelor ascunse  |  Comparați intervale și coloane ...
Caracteristici prezentate: Focus pe grilă   |  Vedere de proiectare   |   Big Formula Bar    Manager registru de lucru și foi   |  Biblioteca de resurse (Text automat)   |  Data Picker   |  Combinați foi de lucru   |  Criptare/Decriptare celule    Trimiteți e-mailuri după listă   |  Super Filtru   |   Filtru special (filtrează bold/italic/barat...) ...
Top 15 seturi de instrumente12 Text Instrumente (Adăuga text, Eliminați caractere,...)   |   50+ Diagramă Tipuri de (Gantt Chart,...)   |   40+ Practic Formule (Calculați vârsta pe baza zilei de naștere,...)   |   19 inserare Instrumente (Introduceți codul QR, Inserați imaginea din cale,...)   |   12 Convertire Instrumente (Numere la cuvinte, conversie valutara,...)   |   7 Merge & Split Instrumente (Rânduri combinate avansate, Celule divizate,...)   |   ... și altele

Îmbunătățiți-vă abilitățile Excel cu Kutools pentru Excel și experimentați eficiența ca niciodată. Kutools pentru Excel oferă peste 300 de funcții avansate pentru a crește productivitatea și a economisi timp.  Faceți clic aici pentru a obține funcția de care aveți cea mai mare nevoie...

fila kte 201905


Fila Office aduce interfața cu file în Office și vă face munca mult mai ușoară

  • Activați editarea și citirea cu file în Word, Excel, PowerPoint, Publisher, Access, Visio și Project.
  • Deschideți și creați mai multe documente în filele noi ale aceleiași ferestre, mai degrabă decât în ​​ferestrele noi.
  • Vă crește productivitatea cu 50% și reduce sute de clicuri de mouse pentru dvs. în fiecare zi!
Comments (14)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Vielen Dank Sonnig,

jetzt ich sehe wo war das Problem. Sie schreiben im VBA und Zelle "." statt wie bei mir "," Ich habe im VBA diese Zeile:
.Pattern = "\((\d+(\.\d+)?)\)"
in diese:
.Pattern = "\((\d+(\,\d+)?)\)"
geändert und dann funktioniert alles perfekt.

Noch mall vielen, vielen Dank.
Schöne Grüße

Wojtek
This comment was minimized by the moderator on the site
...ich meinte addieren Dezimalbruche 🙂
This comment was minimized by the moderator on the site
Hi, Wojtek, if you just want to sum the decimal numbers only, try this code:
Function SumBracket(Target As Range) As Double
'UpdatebyExtendoffice20221209
Dim xCell As Range
Dim xObjs As Object, xObj As Object
Dim xSum As Double
Dim xNum As Integer
On Error Resume Next
Application.Volatile
Set xObjs = CreateObject("VBScript.RegExp")
xSum = 0
With xObjs
    .Global = True
    .Pattern = "\((\d+(\.\d+)?)\)"

    For Each xCell In Target
      If xCell.Value <> "" Then
        For Each xObj In xObjs.Execute(xCell.Value)
            xSum = xSum + Val(xObj.submatches(0)) - Int(Val(xObj.submatches(0)))
        Next
      End If
    Next
End With
SumBracket = xSum
End Function
This comment was minimized by the moderator on the site
Hallo Sonnig,
vielen Dank für die schnelle Antwort 😀. Um die Ganze klar zu machen gebe ich ein Beispiel meiner Aufgabe:

a(5), b(2,5), c(0,25) = 7,75

wie gesagt, mit:

a(5), b(2), c(21) im eine Zelle funktioniert die erste Makro super.

Vielen Dank und schöne Grüße
Wojtek
This comment was minimized by the moderator on the site
Sorry, Wojtek, I do undestand Geman, I just translate your question by Google so that I do not get your question clearly. Could you give me more description, for example, the data structure, are they in a cell or in different cell, in a column or in a row, what result you want.
This comment was minimized by the moderator on the site
Hallo Sonnig,

noch mal vielen Dank für die Mühe.

Geht um Summe alle Zahlen die in der Klammer stehen...
Erste Zelle: 458/1(2,5), 458/2(11), 458/3(0,75)
Zweite Zelle: Summe von 2,5 und 11 und 0,75
alles was in der Klammer steht in der erste Zelle sollte summiert sein. das Ergebnis soll in der Zweite Zelle erscheinen.

Vielen Dank und schöne Grüße
Wojtek
This comment was minimized by the moderator on the site
Hallo,
danke, Makro funktioniert super, aber leider nur mit Ganze Zahl, nicht mit Bruchzahl. Wäre das möglich zu ändern?
This comment was minimized by the moderator on the site
I'm sorry, I meant adding the numbers outside the bracket.
This comment was minimized by the moderator on the site
Hi, Adduar, I do not find a formula to solve your problem, maybe you only can use the Extract Text tool of Kutools for Excel to extract the numbers first, and then sum them, the conditions are *( and )*.
This comment was minimized by the moderator on the site
How to add numbers within the bracket?
This comment was minimized by the moderator on the site
Hi, How do I modify the pattern to sum everything between F-( and )


Example of my data is: F-(10) F-(12) E-(8)


the sum would be 22


thanks
This comment was minimized by the moderator on the site
Hi, Andy, please try this code:
Function SumBracket(Target As Range) As Double
'UpdatebyExtendoffice20160901
Dim xCell As Range
Dim xObjs As Object, xObj As Object
Dim xSum As Double
Set xObjs = CreateObject("VBScript.RegExp")
xSum = 0
With xObjs
.Global = True
.Pattern = "\-\((\d+(\.\d+)?)\)"

For Each xCell In Target
If xCell.Value <> "" Then
For Each xObj In xObjs.Execute(xCell.Value)
xSum = xSum + xObj.submatches(0)
Next
End If
Next
End With
SumBracket = xSum
End Function
This comment was minimized by the moderator on the site
Hello, is there a Google App Script version of the VBA script. I would like to use it in Google Sheets.
Thanks. :D
This comment was minimized by the moderator on the site
Sorry I do not know
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations