Ugrás a tartalomra

Hogyan lehet összegezni a zárójelben szereplő számokat csak az Excelben?

Ha van egy szöveges karaktersorozat, és csak fel szeretné venni az összes számot zárójelben, ahogy az alábbi képernyőképen látható, hogyan kezelheti gyorsan? Ebben a cikkben bemutatok néhány trükköt, amelyekkel csak az Excelben zárójelben összegezheti a számokat.


A zárójelben szereplő összegek csak képlettel

Csak a zárójelben lévő számok összegzéséhez előbb kivonhatja a zárójelben lévő számokat, majd összeadhatja azokat.

1. Jelöljön ki egy üres cellát a zárójelben összegezni kívánt cellák mellett, írja be például ezt a képletet a B2
=IF(ISERROR(MID(A1,FIND("(",A1)+1,(FIND(")",A1))-(FIND("(",A1)+1))),0,(MID(A1,FIND("(",A1)+1,(FIND(")",A1))-(FIND("(",A1)+1)))+0),
majd húzza lefelé az automatikus kitöltő fogantyút az egyes cellákból zárójelben lévő számok kibontásához. Lásd a képernyőképet:
a zárójelben szereplő összegek 2

típus: a képletben A1 az a cella, amelyből a zárójelben lévő számokat ki akarja vonni.

2. Válassza ki azt a cellát, amelyre az összegzési eredményt fel szeretné helyezni, írja be = SUM (B1: B8), és nyomja meg a gombot belép kulcs. Lásd a képernyőképet:
a zárójelben szereplő összegek 3

Tipp: a képletben B1: B8 azok a számok, amelyeket az eredeti szöveglánc-listából kivont, és összegezni szeretne.


A zárójelben szereplő összegek csak Defined Function funkcióval

Alkalmazhat definiált függvényt zárójelben lévő összegekre is.

1. nyomja meg Alt + F11 gombokat az engedélyezéshez Microsoft Visual Basic for Applications ablakban kattintson betétlap > Modulok, és illessze be a kód alatt az üres parancsfájlba.

VBA: Összegszámok zárójelben

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

a zárójelben szereplő összegek 4

2. Mentse el a kódot, és válassza ki az eredményt elhelyező cellát, majd írja be ezt a képletet = SumBracket (A1: A8), nyomja meg belép kulcs. Lásd a képernyőképet:
a zárójelben szereplő összegek 5


Csak a Kutools for Excel segítségével összegezze a zárójelben lévő számokat

Valójában azzal Kutools az Excel számára'S Kivonat szöveg függvényt a zárójelben lévő számok kibontásához, majd a Összegezze az abszolút értékeket függvény a számok összegzésére.

Kutools az Excel számára, Több mint 300 a praktikus funkciók megkönnyítik a munkáját. 

Telepítése után Kutools for Excel, kérjük, tegye az alábbiakat:(Ingyenesen töltse le a Kutools for Excel programot most!)

1. Jelölje ki a zárójelben a számokat kibontani kívánt karakterláncokat, majd kattintson a gombra Kutools> szöveg > Kivonat szöveg. Lásd a képernyőképet:
a zárójelben szereplő összegek 6

2. Ban,-ben Kivonat szöveg párbeszédpanelen írja be (*) be a szöveg szövegmezőbe, és kattintson a gombra hozzáad hozzáadásához Kivonat lista. Ezután kattintson Ok, és válassza ki a cellát, hogy a kibontott számokat elhelyezze a felbukkanó párbeszédablakban, például C1. Lásd a képernyőképet:

Jegyzet: Ha vannak más kivonási szabályok a Kivonat lista szakaszban, kérjük, távolítsa el ezeknek a kibontási szabályoknak a jelölését, és csak a (z) új hozzáadott kivonat szabályát ellenőrizze (*).


a zárójelben szereplő összegek 7 jobbra lőtt nyíl a zárójelben szereplő összegek 8

3. kettyenés OK, és most a zárójelben lévő számok vannak kivonva. Alapértelmezés szerint a zárójelben lévő számok negatívnak számítanak, összegezni kell az abszolút értékeket.
a zárójelben szereplő összegek 9

4. Válassza ki azt a cellát, amelyre a számítási eredményt fel szeretné helyezni, kattintson a gombra Kutools > Formula Segítő > Math & Trig > Összegezze az abszolút értékeket. Lásd a képernyőképet:
a zárójelben szereplő összegek 10

5. Ban,-ben Formula Segítő párbeszédpanelen válassza ki azt a tartományt, amelybe a kibontott számok tartoznak Szám szövegdoboz, C1: C8 ebben az esetben. Kattintson a gombra Ok, a számok abszolút értékét hozzáadtuk. Lásd a képernyőképet:

a zárójelben szereplő összegek 11 jobbra lőtt nyíl a zárójelben szereplő összegek 12

Tipp. Ha azt szeretné, hogy ingyenes próbaverziót kapjon a Kivonat szöveg és a Az abszolút érték összeges funkciója, kérjük, menjen a Kutools for Excel ingyenes letöltéséhez először, majd lépjen a művelet végrehajtására a fenti lépések szerint.

A legjobb irodai hatékonyságnövelő eszközök

Népszerű szolgáltatások: Ismétlődések keresése, kiemelése vagy azonosítása   |  Üres sorok törlése   |  Oszlopok vagy cellák kombinálása adatvesztés nélkül   |   Kerek Formula nélkül ...
Szuper keresés: Több kritérium VLookup    Többértékű VLookup  |   VLookup több munkalapon   |   Fuzzy Lookup ....
Speciális legördülő lista: Gyors legördülő lista létrehozása   |  Függő legördülő lista   |  Többszörösen válassza ki a legördülő listát ....
Oszlopkezelő: Adjon meg egy adott számú oszlopot  |  Oszlopok mozgatása  |  Kapcsolja be a Rejtett oszlopok láthatósági állapotát  |  Tartományok és oszlopok összehasonlítása ...
Kiemelt funkciók: Rács fókusz   |  Design nézet   |   Nagy Formula bár    Munkafüzet és lapkezelő   |  Erőforrás-könyvtár (Auto szöveg)   |  Dátumválasztó   |  Kombinálja a munkalapokat   |  Cellák titkosítása/dekódolása    E-mailek küldése listánként   |  Szuper szűrő   |   Speciális szűrő (félkövér/dőlt/áthúzott szűrés...) ...
A 15 legjobb eszközkészlet12 szöveg Eszközök (Szöveg hozzáadása, Karakterek eltávolítása,...)   |   50 + Táblázatos Típusai (Gantt-diagram,...)   |   40+ Praktikus képletek (Számolja ki az életkort a születésnap alapján,...)   |   19 beszúrás Eszközök (Helyezze be a QR-kódot, Kép beszúrása az útvonalból,...)   |   12 Átalakítás Eszközök (Számok szavakig, Valuta átváltás,...)   |   7 Egyesítés és felosztás Eszközök (Haladó kombinált sorok, Hasított sejtek,...)   |   ... és több

Töltsd fel Excel-készségeidet a Kutools for Excel segítségével, és tapasztald meg a még soha nem látott hatékonyságot. A Kutools for Excel több mint 300 speciális funkciót kínál a termelékenység fokozásához és az időmegtakarításhoz.  Kattintson ide, hogy megszerezze a leginkább szükséges funkciót...

kte lap 201905


Az Office lap füles felületet hoz az Office-ba, és sokkal könnyebbé teszi a munkáját

  • Füles szerkesztés és olvasás engedélyezése Wordben, Excelben és PowerPointban, Publisher, Access, Visio és Project.
  • Több dokumentum megnyitása és létrehozása ugyanazon ablak új lapjain, mint új ablakokban.
  • 50% -kal növeli a termelékenységet, és naponta több száz kattintással csökkenti az egér kattintását!
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