Skip i'r prif gynnwys

Sut i grynhoi rhifau mewn cromfachau yn Excel yn unig?

Os oes rhestr o dannau testun, a'ch bod am adio pob rhif mewn cromfachau fel y dangosir isod, sut allwch chi ei drin yn gyflym? Yn yr erthygl hon, rwy'n cyflwyno rhai triciau i chi grynhoi'r rhifau mewn cromfachau yn Excel yn unig.


Rhifau swm o fewn cromfachau yn unig gyda'r fformiwla

I grynhoi rhifau mewn cromfachau yn unig, gallwch echdynnu'r rhifau sydd mewn cromfachau yn gyntaf, ac yna eu hychwanegu.

1. Dewiswch gell wag wrth ymyl y gell rydych chi am grynhoi ei rhifau mewn cromfachau, B2 er enghraifft, nodwch y fformiwla hon
=IF(ISERROR(MID(A1,FIND("(",A1)+1,(FIND(")",A1))-(FIND("(",A1)+1))),0,(MID(A1,FIND("(",A1)+1,(FIND(")",A1))-(FIND("(",A1)+1)))+0),
ac yna llusgo handlen llenwi auto i lawr i echdynnu rhifau sydd mewn cromfachau o bob cell. Gweler y screenshot:
rhifau doc ​​mewn cromfachau 2

Tip: yn y fformiwla, A1 yw'r gell rydych chi am echdynnu'r rhifau mewn cromfachau ohoni.

2. Dewiswch gell y byddwch chi'n gosod y canlyniad crynhoi arni, nodwch hi = SUM (B1: B8), a'r wasg Rhowch allwedd. Gweler y screenshot:
rhifau doc ​​mewn cromfachau 3

Tip: yn y fformiwla, B1: B8 yw'r rhifau y gwnaethoch chi eu tynnu o'r rhestr wreiddiol o linyn testun ac eisiau crynhoi.


Rhifau swm mewn cromfachau yn unig gyda Swyddogaeth Diffiniedig

Gallwch hefyd gymhwyso Swyddogaeth Diffiniedig i symio rhifau mewn cromfachau.

1. Gwasgwch Alt + F11 allweddi i alluogi Microsoft Visual Basic ar gyfer Ceisiadau ffenestr, cliciwch Mewnosod > Modiwlau, a'i gludo o dan y cod i'r sgript wag.

VBA: Niferoedd mewn cromfachau

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

rhifau doc ​​mewn cromfachau 4

2. Arbedwch y cod a mynd i ddewis cell a fydd yn gosod y canlyniad, a nodi'r fformiwla hon = SumBracket (A1: A8), y wasg Rhowch allwedd. Gweler y screenshot:
rhifau doc ​​mewn cromfachau 5


Swm niferoedd o fewn cromfachau yn unig gyda Kutools ar gyfer Excel

A dweud y gwir, gyda Kutools ar gyfer Excel'S Testun Detholiad swyddogaeth i echdynnu rhifau o fewn cromfachau, ac yna cymhwyso'r Swm gwerthoedd absoliwt swyddogaeth i grynhoi'r rhifau.

Kutools ar gyfer Excel, gyda mwy na 300 swyddogaethau defnyddiol, yn gwneud eich swyddi yn haws. 

Ar ôl gosod Kutools ar gyfer Excel, gwnewch fel isod:(Lawrlwythwch Kutools Am Ddim ar gyfer Excel Nawr!)

1. Dewiswch y tannau rydych chi am dynnu rhifau mewn cromfachau, a chlicio Kutools> Testun > Testun Detholiad. Gweler y screenshot:
rhifau doc ​​mewn cromfachau 6

2. Yn y Testun Detholiad deialog, nodwch (*) i mewn i'r Testun blwch testun, a chlicio Ychwanegu i'w ychwanegu at y Rhestr echdynnu. Yna cliciwch Ok, a dewis cell i roi'r rhifau sydd wedi'u hechdynnu yn y dialog popio, C1 er enghraifft. Gweler y screenshot:

Nodyn: Os oes rheolau echdynnu eraill yn y Rhestr Detholiad adran, dad-diciwch y rheolau echdynnu hyn, a gwiriwch y rheol echdynnu ychwanegol newydd o (*).


rhifau doc ​​mewn cromfachau 7 saeth saethu i'r dde rhifau doc ​​mewn cromfachau 8

3. Cliciwch OK, ac yn awr mae'r niferoedd mewn cromfachau yn cael eu tynnu. Yn ddiofyn, cydnabyddir bod y niferoedd mewn cromfachau yn negyddol, mae angen i chi grynhoi eu gwerthoedd absoliwt.
rhifau doc ​​mewn cromfachau 9

4. Dewiswch gell y byddwch chi'n gosod canlyniad y cyfrifiad arni, cliciwch Kutools > Cynorthwyydd Fformiwla > Math & Trig > Swm gwerthoedd absoliwt. Gweler y screenshot:
rhifau doc ​​mewn cromfachau 10

5. Yn y Cynorthwyydd Fformiwla deialog, dewiswch yr ystod sy'n cynnwys y rhifau sydd wedi'u hechdynnu i mewn Nifer blwch testun, C1: C8 yn yr achos hwn. Cliciwch Ok, ychwanegwyd gwerthoedd absoliwt y rhifau. Gweler y screenshot:

rhifau doc ​​mewn cromfachau 11 saeth saethu i'r dde rhifau doc ​​mewn cromfachau 12

Awgrym. Os ydych chi am gael treial am ddim o'r Testun Detholiad ac Swm gwerth absoliwts swyddogaeth, ewch i lawrlwytho am ddim Kutools ar gyfer Excel yn gyntaf, ac yna ewch i gymhwyso'r llawdriniaeth yn ôl y camau uchod.

Offer Cynhyrchiant Swyddfa Gorau

🤖 Kutools AI Aide: Chwyldro dadansoddi data yn seiliedig ar: Cyflawniad Deallus   |  Cynhyrchu Cod  |  Creu Fformiwlâu Personol  |  Dadansoddi Data a Chynhyrchu Siartiau  |  Invoke Swyddogaethau Kutools...
Nodweddion Poblogaidd: Darganfod, Amlygu neu Adnabod Dyblygiadau   |  Dileu Rhesi Gwag   |  Cyfuno Colofnau neu Gelloedd heb Colli Data   |   Rownd heb Fformiwla ...
Super-edrych: VLookup Meini Prawf Lluosog    VLookup Gwerth Lluosog  |   VLookup Ar Draws Taflenni Lluosog   |   Edrych Niwlog ....
Rhestr gwympo Uwch: Creu Rhestr Gollwng yn Gyflym   |  Rhestr Gollwng Dibynnol   |  Rhestr Gollwng Aml-ddewis ....
Rheolwr Colofn: Ychwanegu Nifer Penodol o Golofnau  |  Symud Colofnau  |  Toglo Statws Gwelededd Colofnau Cudd  |  Cymharwch Ystodau a Cholofnau ...
Nodweddion dan Sylw: Ffocws ar y Grid   |  Golwg Dylunio   |   Bar Fformiwla Mawr    Rheolwr Llyfr Gwaith a Thaflen   |  Llyfrgell Adnoddau (Testun Auto)   |  Dewiswr Dyddiad   |  Cyfuno Taflenni Gwaith   |  Amgryptio/Dadgryptio Celloedd    Anfon E-byst trwy Restr   |  Hidlo Super   |   Hidlo Arbennig (hidlo mewn print trwm/italig/strikethrough...) ...
15 Set Offer Gorau12 Testun offer (Ychwanegu Testun, Dileu Cymeriadau,...)   |   50 + Siart Mathau (Siart Gantt,...)   |   40+ Ymarferol Fformiwlâu (Cyfrifwch oedran yn seiliedig ar ben-blwydd,...)   |   19 mewnosod offer (Mewnosod Cod QR, Mewnosod Llun o'r Llwybr,...)   |   12 Trosi offer (Rhifau i Eiriau, Trosi arian cyfred,...)   |   7 Uno a Hollti offer (Rhesi Cyfuno Uwch, Celloedd Hollt,...)   |   ... a mwy

Supercharge Eich Sgiliau Excel gyda Kutools ar gyfer Excel, a Phrofiad Effeithlonrwydd Fel Erioed Erioed. Kutools ar gyfer Excel Yn Cynnig Dros 300 o Nodweddion Uwch i Hybu Cynhyrchiant ac Arbed Amser.  Cliciwch Yma i Gael Y Nodwedd Sydd Ei Angen Y Mwyaf...

Disgrifiad


Mae Office Tab yn dod â rhyngwyneb Tabbed i Office, ac yn Gwneud Eich Gwaith yn Haws o lawer

  • Galluogi golygu a darllen tabbed yn Word, Excel, PowerPoint, Cyhoeddwr, Mynediad, Visio a Phrosiect.
  • Agor a chreu dogfennau lluosog mewn tabiau newydd o'r un ffenestr, yn hytrach nag mewn ffenestri newydd.
  • Yn cynyddu eich cynhyrchiant 50%, ac yn lleihau cannoedd o gliciau llygoden i chi bob dydd!
Comments (15)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Hello Sunny,

I have a question as well. I have an excel sheet with numbers and some of them are in brackets. I want to add the values of the numbers in a row. Basically:
50 (50*) 100 150 = 350
How can I add (=sum) of all of them, including the one in brackets? I'ld appreciate your advise.
Best, Anna
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