Bỏ qua nội dung chính

Làm cách nào để tính tổng các số chỉ trong ngoặc trong Excel?

Nếu có một danh sách các chuỗi văn bản và bạn chỉ muốn cộng tất cả các số trong dấu ngoặc như hình minh họa bên dưới, bạn có thể nhanh chóng xử lý nó như thế nào? Trong bài viết này, tôi giới thiệu một số thủ thuật để bạn tính tổng các số trong ngoặc chỉ trong Excel.


Tính tổng các số trong ngoặc chỉ với công thức

Để chỉ tính tổng các số trong ngoặc, trước tiên bạn có thể trích xuất các số nằm trong ngoặc, sau đó cộng chúng lại.

1. Chọn một ô trống bên cạnh ô bạn muốn tính tổng các số của nó trong dấu ngoặc, ví dụ B2, nhập công thức này
=IF(ISERROR(MID(A1,FIND("(",A1)+1,(FIND(")",A1))-(FIND("(",A1)+1))),0,(MID(A1,FIND("(",A1)+1,(FIND(")",A1))-(FIND("(",A1)+1)))+0),
và sau đó kéo chốt tự động điền xuống để trích xuất các số nằm trong ngoặc từ mỗi ô. Xem ảnh chụp màn hình:
doc tổng số trong ngoặc 2

Mẹo: trong công thức, A1 là ô bạn muốn trích xuất các số trong ngoặc.

2. Chọn một ô mà bạn sẽ đặt kết quả tổng, nhập = SUM (B1: B8), và hãy nhấn đăng ký hạng mục thi Chìa khóa. Xem ảnh chụp màn hình:
doc tổng số trong ngoặc 3

Mẹo: trong công thức, B1: B8 là các số bạn trích xuất từ ​​danh sách chuỗi văn bản ban đầu và muốn tính tổng.


Tính tổng các số trong ngoặc chỉ với Hàm xác định

Bạn cũng có thể áp dụng một Hàm xác định để tính tổng các số trong dấu ngoặc.

1. nhấn Alt + F11 phím để kích hoạt Microsoft Visual Basic cho các ứng dụng cửa sổ, nhấp Chèn > Mô-đunvà dán mã bên dưới vào tập lệnh trống.

VBA: Tính tổng các số trong ngoặc

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 tổng số trong ngoặc 4

2. Lưu mã và chọn một ô sẽ đặt kết quả và nhập công thức này = SumBracket (A1: A8), nhấn đăng ký hạng mục thi Chìa khóa. Xem ảnh chụp màn hình:
doc tổng số trong ngoặc 5


Tính tổng các số trong dấu ngoặc chỉ với Kutools cho Excel

Trên thực tế, với Kutools cho Excel'S Trích xuất văn bản để trích xuất các số trong dấu ngoặc và sau đó áp dụng Tổng giá trị tuyệt đối hàm tính tổng các số.

Kutools cho Excel, với hơn 300 chức năng tiện dụng, giúp công việc của bạn dễ dàng hơn. 

Sau khi cài đặt Kutools cho Excel, vui lòng làm như dưới đây :(Tải xuống miễn phí Kutools cho Excel ngay!)

1. Chọn các chuỗi bạn muốn trích xuất các số trong dấu ngoặc và nhấp vào Kutools> bản văn > Trích xuất văn bản. Xem ảnh chụp màn hình:
doc tổng số trong ngoặc 6

2. bên trong Trích xuất văn bản hộp thoại, nhập (*) vào bản văn hộp văn bản và nhấp vào Thêm để thêm nó vào Trích xuất danh sách. Sau đó nhấn vào Okvà để chọn một ô để đặt các số được trích xuất trong hộp thoại bật lên, chẳng hạn như C1. Xem ảnh chụp màn hình:

Lưu ý: Nếu có các quy tắc trích xuất khác trong Trích xuất danh sách , vui lòng bỏ chọn các quy tắc trích xuất này và chỉ kiểm tra quy tắc trích xuất mới được thêm vào của (*).


doc tổng số trong ngoặc 7 mũi tên bắn sang phải doc tổng số trong ngoặc 8

3. nhấp chuột OK, và bây giờ các số trong ngoặc được trích xuất. Theo mặc định, các số trong ngoặc được coi là số âm, bạn cần tính tổng các giá trị tuyệt đối của chúng.
doc tổng số trong ngoặc 9

4. Chọn một ô mà bạn sẽ đặt kết quả tính toán, nhấp vào Kutools > Công thức trợ giúp > Toán & Trig > Tổng giá trị tuyệt đối. Xem ảnh chụp màn hình:
doc tổng số trong ngoặc 10

5. bên trong Công thức trợ giúp , hãy chọn phạm vi chứa các số được trích xuất vào Con số hộp văn bản, C1: C8 trong trường hợp này. Nhấp chuột Ok, các giá trị tuyệt đối của các số đã được thêm vào. Xem ảnh chụp màn hình:

doc tổng số trong ngoặc 11 mũi tên bắn sang phải doc tổng số trong ngoặc 12

Tiền boa. Nếu bạn muốn dùng thử miễn phí Trích xuất văn bảnTổng giá trị tuyệt đốichức năng s, vui lòng tải xuống miễn phí Kutools cho Excel đầu tiên, và sau đó đi đến áp dụng hoạt động theo các bước trên.

Công cụ năng suất văn phòng tốt nhất

🤖 Trợ lý AI của Kutools: Cách mạng hóa việc phân tích dữ liệu dựa trên: Thực thi thông minh   |  Tạo mã  |  Tạo công thức tùy chỉnh  |  Phân tích dữ liệu và tạo biểu đồ  |  Gọi các hàm Kutools...
Các tính năng phổ biến: Tìm, đánh dấu hoặc xác định các bản sao   |  Xóa hàng trống   |  Kết hợp các cột hoặc ô mà không làm mất dữ liệu   |   Vòng không có công thức hữu ích. Cảm ơn !
Siêu tra cứu: Nhiều tiêu chí VLookup    VLookup Nhiều Giá Trị  |   VLookup trên nhiều trang tính   |   Tra cứu mờ ....
Danh sách thả xuống nâng cao: Tạo nhanh danh sách thả xuống   |  Danh sách thả xuống phụ thuộc   |  Danh sách thả xuống nhiều lựa chọn ....
Trình quản lý cột: Thêm một số cột cụ thể  |  Di chuyển cột  |  Chuyển đổi trạng thái hiển thị của các cột ẩn  |  So sánh dãy và cột hữu ích. Cảm ơn !
Các tính năng nổi bật: Tiêu điểm lưới   |  Chế độ xem thiết kế   |   Thanh công thức lớn    Trình quản lý sổ làm việc & trang tính   |  Thư viện tài nguyên (Văn bản tự động)   |  Bảng chọn ngày   |  Kết hợp các bảng tính   |  Mã hóa/Giải mã ô    Gửi email theo danh sách   |  Siêu lọc   |   Bộ lọc đặc biệt (lọc in đậm/nghiêng/gạch ngang...) ...
15 bộ công cụ hàng đầu12 bản văn CÔNG CỤ (thêm văn bản, Xóa ký tự,...)   |   50 + Biểu đồ Các loại (Biểu đồ Gantt,...)   |   40+ Thực tế Công thức (Tính tuổi dựa trên ngày sinh,...)   |   19 chèn CÔNG CỤ (Chèn mã QR, Chèn ảnh từ đường dẫn,...)   |   12 Chuyển đổi CÔNG CỤ (Số thành từ, Chuyển đổi tiền tệ,...)   |   7 Hợp nhất & Tách CÔNG CỤ (Các hàng kết hợp nâng cao, Chia ô,...)   |   ... và nhiều hơn nữa

Nâng cao kỹ năng Excel của bạn với Kutools for Excel và trải nghiệm hiệu quả hơn bao giờ hết. Kutools for Excel cung cấp hơn 300 tính năng nâng cao để tăng năng suất và tiết kiệm thời gian.  Bấm vào đây để có được tính năng bạn cần nhất...

Mô tả


Tab Office mang lại giao diện Tab cho Office và giúp công việc của bạn trở nên dễ dàng hơn nhiều

  • Cho phép chỉnh sửa và đọc theo thẻ trong Word, Excel, PowerPoint, Publisher, Access, Visio và Project.
  • Mở và tạo nhiều tài liệu trong các tab mới của cùng một cửa sổ, thay vì trong các cửa sổ mới.
  • Tăng 50% năng suất của bạn và giảm hàng trăm cú nhấp chuột cho bạn mỗi ngày!
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