Przejdź do głównej zawartości

Jak sumować liczby w nawiasach tylko w programie Excel?

Jeśli istnieje lista ciągów tekstowych i chcesz po prostu dodać wszystkie liczby w nawiasach, jak pokazano na poniższym zrzucie ekranu, jak możesz szybko sobie z tym poradzić? W tym artykule przedstawiam kilka sztuczek, aby zsumować liczby w nawiasach tylko w Excelu.


Sumuj liczby w nawiasach tylko za pomocą formuły

Aby zsumować liczby w nawiasach, możesz najpierw wyodrębnić liczby w nawiasach, a następnie dodać je.

1. Wybierz pustą komórkę obok komórki, której numery chcesz podsumować w nawiasach, na przykład B2, wprowadź tę formułę
=IF(ISERROR(MID(A1,FIND("(",A1)+1,(FIND(")",A1))-(FIND("(",A1)+1))),0,(MID(A1,FIND("(",A1)+1,(FIND(")",A1))-(FIND("(",A1)+1)))+0),
a następnie przeciągnij uchwyt automatycznego wypełniania w dół, aby wyodrębnić liczby w nawiasach z każdej komórki. Zobacz zrzut ekranu:
doc sumy liczb w nawiasach 2

Wskazówka: w formule A1 to komórka, z której chcesz wyodrębnić liczby w nawiasach.

2. Wybierz komórkę, w której chcesz umieścić wynik sumowania, wprowadź = SUMA (B1: B8)i naciśnij Wchodzę klucz. Zobacz zrzut ekranu:
doc sumy liczb w nawiasach 3

Wskazówka: we wzorze B1: B8 to liczby wyodrębnione z oryginalnej listy ciągów tekstowych i które chcesz podsumować.


Sumuj liczby w nawiasach tylko ze zdefiniowaną funkcją

Możesz również zastosować zdefiniowaną funkcję, aby zsumować liczby w nawiasach.

1. naciśnij Alt + F11 klucze do włączenia Microsoft Visual Basic for Applications okno, kliknij wstawka > Modułi wklej poniższy kod do pustego skryptu.

VBA: Sumuj liczby w nawiasach

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

doc sumy liczb w nawiasach 4

2. Zapisz kod i przejdź do komórki, w której zostanie umieszczony wynik, i wprowadź tę formułę = SumBracket (A1: A8), naciśnij Wchodzę klucz. Zobacz zrzut ekranu:
doc sumy liczb w nawiasach 5


Sumuj liczby w nawiasach tylko za pomocą Kutools for Excel

Właściwie z Kutools dla programu Excel'S Wyodrębnij tekst funkcji, aby wyodrębnić liczby w nawiasach, a następnie zastosować Suma wartości bezwzględnych funkcję sumowania liczb.

Po zainstalowaniu Kutools dla programu Excel, wykonaj poniższe czynności :(Bezpłatne pobieranie Kutools dla programu Excel teraz!)

1. Wybierz ciągi, z których chcesz wyodrębnić liczby w nawiasach, i kliknij Kutools> Tekst > Wyodrębnij tekst. Zobacz zrzut ekranu:
doc sumy liczb w nawiasach 6

2. w Wyodrębnij tekst wprowadź (*) do Tekst pole tekstowe i kliknij Dodaj aby dodać go do Wyodrębnij listę. Następnie kliknij Oki wybrać komórkę, w której wyodrębnione liczby zostaną umieszczone w wyświetlanym oknie dialogowym, na przykład C1. Zobacz zrzut ekranu:

Uwaga: Jeśli istnieją inne reguły wyodrębniania w Wyodrębnij listę odznacz te reguły wypakowywania i zaznacz tylko nowo dodaną regułę wypakowywania (*).


doc sumy liczb w nawiasach 7 strzałka w prawo doc sumy liczb w nawiasach 8

3. kliknij OK, a teraz wyodrębniane są liczby w nawiasach. Domyślnie liczby w nawiasach są uznawane za ujemne, należy zsumować ich wartości bezwzględne.
doc sumy liczb w nawiasach 9

4. Wybierz komórkę, w której chcesz umieścić wynik obliczenia, kliknij Kutools > Pomocnik formuły > Math & Trig > Suma wartości bezwzględnych. Zobacz zrzut ekranu:
doc sumy liczb w nawiasach 10

5. w Pomocnik formuły wybierz zakres, który zawiera wyodrębnione liczby Numer pole tekstowe, w tym przypadku C1: C8. Kliknij Ok, dodano wartości bezwzględne liczb. Zobacz zrzut ekranu:

doc sumy liczb w nawiasach 11 strzałka w prawo doc sumy liczb w nawiasach 12

Wskazówka. Jeśli chcesz skorzystać z bezpłatnej wersji próbnej Wyodrębnij tekst i Suma wartości bezwzględnejfunkcja s, przejdź do bezpłatnego pobrania Kutools dla programu Excel najpierw, a następnie przejdź do wykonania operacji zgodnie z powyższymi krokami.

Najlepsze narzędzia biurowe

🤖 Pomocnik AI Kutools: Zrewolucjonizuj analizę danych w oparciu o: Inteligentne wykonanie   |  Wygeneruj kod  |  Twórz niestandardowe formuły  |  Analizuj dane i generuj wykresy  |  Wywołaj funkcje Kutools...
Popularne funkcje: Znajdź, wyróżnij lub zidentyfikuj duplikaty   |  Usuń puste wiersze   |  Łącz kolumny lub komórki bez utraty danych   |   Okrągły bez wzoru ...
Super wyszukiwanie: Wiele kryteriów VLookup    Wiele wartości VLookup  |   Przeglądanie pionowe na wielu arkuszach   |   Wyszukiwanie rozmyte ....
Zaawansowana lista rozwijana: Szybko twórz listę rozwijaną   |  Zależna lista rozwijana   |  Lista rozwijana wielokrotnego wyboru ....
Menedżer kolumn: Dodaj określoną liczbę kolumn  |  Przesuń kolumny  |  Przełącz stan widoczności ukrytych kolumn  |  Porównaj zakresy i kolumny ...
Polecane funkcje: Fokus siatki   |  Widok projektu   |   Duży pasek formuły    Menedżer skoroszytów i arkuszy   |  Biblioteka zasobów (Automatyczny tekst)   |  Selektor dat   |  Połącz arkusze   |  Szyfruj/odszyfruj komórki    Wysyłaj e-maile według listy   |  Super filtr   |   Specjalny filtr (filtruj pogrubienie/kursywa/przekreślenie...) ...
15 najlepszych zestawów narzędzi12 Tekst Tools (Dodaj tekst, Usuń znaki, ...)   |   50 + Wykres rodzaje (Wykres Gantta, ...)   |   40+ Praktyczne Wzory (Oblicz wiek na podstawie urodzin, ...)   |   19 Wprowadzenie Tools (Wstaw kod QR, Wstaw obraz ze ścieżki, ...)   |   12 Konwersja Tools (Liczby na słowa, Przeliczanie walut, ...)   |   7 Połącz i podziel Tools (Zaawansowane wiersze łączenia, Podział komórki, ...)   |   ... i więcej

Zwiększ swoje umiejętności Excela dzięki Kutools for Excel i doświadcz wydajności jak nigdy dotąd. Kutools dla programu Excel oferuje ponad 300 zaawansowanych funkcji zwiększających produktywność i oszczędzających czas.  Kliknij tutaj, aby uzyskać funkcję, której najbardziej potrzebujesz...

Opis


Karta Office wprowadza interfejs z zakładkami do pakietu Office i znacznie ułatwia pracę

  • Włącz edycję i czytanie na kartach w programach Word, Excel, PowerPoint, Publisher, Access, Visio i Project.
  • Otwieraj i twórz wiele dokumentów w nowych kartach tego samego okna, a nie w nowych oknach.
  • Zwiększa produktywność o 50% i redukuje setki kliknięć myszką każdego dnia!
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