Bỏ qua nội dung chính

Làm cách nào để nhanh chóng hợp nhất các hàng dựa trên giá trị một cột sau đó thực hiện một số phép tính trong Excel?

Ví dụ: bạn có một dải dữ liệu và một cột có các hàng trùng lặp, bây giờ bạn muốn hợp nhất các hàng căn cứ vào cột A (có các bản sao) sau đó thực hiện một số tính toán cho một cột khác dựa trên các hàng đã hợp nhất như hình minh họa:

Trong Excel, không có phương pháp nhanh chóng nào để hợp nhất các hàng dựa trên một giá trị cột, nhưng ở đây tôi giới thiệu
thủ thuật có thể giúp bạn hợp nhất các hàng trùng lặp sau đó tính tổng hoặc thực hiện các phép tính khác trên một cột khác.


mũi tên màu xanh bong bóng bên phải Hợp nhất các hàng dựa trên một cột sau đó tính tổng các giá trị bằng VBA

Có một mã VBA có thể giúp bạn hợp nhất các hàng trùng lặp sau đó tính tổng các giá trị cột khác.

Duyệt theo tab & chỉnh sửa nhiều sổ làm việc Excel / tài liệu Word dưới dạng Firefox, Chrome, Internet Explore 10!

Bạn có thể quen với việc xem nhiều trang web trong Firefox / Chrome / IE và chuyển đổi giữa chúng bằng cách nhấp vào các tab tương ứng một cách dễ dàng. Tại đây, Tab Office hỗ trợ xử lý tương tự, cho phép bạn duyệt nhiều sổ làm việc Excel hoặc tài liệu Word trong một cửa sổ Excel hoặc cửa sổ Word và dễ dàng chuyển đổi giữa chúng bằng cách nhấp vào tab của chúng. Bấm miễn phí 30-ngày dùng thử Office Tab!

xuất sắc

1. nhấn F11 + Thay thế phím để kích hoạt Microsoft Visual Basic cho các ứng dụng cửa sổ, sau đó nhấp vào Chèn > Mô-đun và sao chép và dán mã VBA bên dưới vào mã mới Mô-đun cửa sổ.

VBA: Hợp nhất các hàng dựa trên một giá trị cột

Sub MG30Nov12()
'Updateby20150519
Dim Rng As Range
Dim InputRng As Range
Dim nRng As Range
Set InputRng = Application.Selection
Set InputRng = Application.InputBox("Range :", xTitleId, InputRng.Address, Type:=8)
Set InputRng = InputRng.Parent.Range(InputRng.Columns(1).Address)
With CreateObject("scripting.dictionary")
.CompareMode = vbTextCompare
For Each Rng In InputRng
    If Not .Exists(Rng.Value) Then
        .Add Rng.Value, Rng.Offset(, 1)
    Else
        .Item(Rng.Value).Value = .Item(Rng.Value).Value + Rng.Offset(, 1)
            If nRng Is Nothing Then
                Set nRng = Rng
            Else
                Set nRng = Union(nRng, Rng)
            End If
    End If
Next
If Not nRng Is Nothing Then
    nRng.EntireRow.Delete
End If
End With
End Sub

2. nhấn F5 Hoặc nhấp chuột chạy để chạy VBA và một hộp thoại bật ra để chọn một dải dữ liệu hoạt động. xem ảnh chụp màn hình:

doc hợp nhất các cột dựa trên một cột 3

3. Sau khi chọn một phạm vi làm việc, hãy nhấp vào OK. Bây giờ dữ liệu đã được hợp nhất theo cột đầu tiên và tính tổng các giá trị trong cột thứ hai.

doc hợp nhất các cột dựa trên một cột 4

Chú thích: Mã VBA này chỉ có thể hoạt động chính xác khi hợp nhất dựa trên cột đầu tiên và tổng các giá trị trong cột thứ hai.


mũi tên màu xanh bong bóng bên phải Hợp nhất các hàng dựa trên một cột rồi tính tổng các giá trị bằng các Hàng Kết hợp Nâng cao

Nếu bạn không quen với mã VBA, bạn có thể sử dụng Các hàng kết hợp nâng cao tính năng của công cụ bổ trợ phần thứ ba - Kutools cho Excel để hợp nhất các hàng trùng lặp một cách dễ dàng và nhanh chóng sau đó tính tổng các giá trị trong một cột khác.

Sau cài đặt miễn phí Kutools cho Excel, vui lòng làm như sau:

1. Chọn dữ liệu bạn muốn sử dụng và nhấp vào Kutools > Hợp nhất & Tách > Các hàng kết hợp nâng cao. Xem ảnh chụp màn hình:

doc nâng cao kết hợp hàng 1

2. Sau đó, trong hộp thoại bật lên, hãy chọn cột mà bạn sẽ hợp nhất các cột khác dựa trên đó rồi nhấp vào Tiểu học Chìa khóa và nhấp vào cột khác và nhấp vào Tính toán Sau đó chọn Tổng.

Mẹo: Nếu dải ô đã chọn của bạn có tiêu đề, hãy kiểm tra Dữ liệu của tôi có tiêu đề, và kiểm tra Sử dụng các giá trị được định dạng sẽ giữ nguyên định dạng sau khi hợp nhất.

doc hợp nhất các cột dựa trên một cột 6

3. Sau đó nhấn vào Ok. Bây giờ dữ liệu đã được hợp nhất dựa trên cột chính và một cột khác được tổng hợp. Xem ảnh chụp màn hình:

doc hợp nhất các cột dựa trên một cột 7


mũi tên màu xanh bong bóng bên phải Hợp nhất các hàng dựa trên một cột sau đó thực hiện các thao tác khác nhau trên các cột khác bằng các Hàng Kết hợp Nâng cao.

Các hàng kết hợp nâng cao rất mạnh mẽ, bởi vì nó không chỉ có thể hợp nhất các hàng trùng lặp trong một cột rồi tính tổng một cột khác, mà còn có thể hợp nhất các hàng trùng lặp trong một cột sau đó thực hiện các thao tác khác nhau trên các cột khác.

Giả sử tôi có một dải dữ liệu như hình minh họa bên dưới và tôi muốn kết hợp cả giá trị trong Cột B và tổng giá trị trong Cột C dựa trên Cột A.
doc hợp nhất các cột dựa trên một cột 8

Sau cài đặt miễn phí Kutools cho Excel, vui lòng làm như sau:

1. Chọn dải dữ liệu và nhấp vào Kutools > Hợp nhất & Tách > Các hàng kết hợp nâng cao. Xem ảnh chụp màn hình:

doc nâng cao kết hợp hàng 1

2. bên trong Kết hợp các hàng dựa trên cột hộp thoại, làm như sau:

(1) Nhấp vào cột bạn muốn kết hợp dựa trên và nhấp vào Khóa chính;

doc hợp nhất các cột dựa trên một cột 10

(2) Nhấp vào cột bạn muốn kết hợp dữ liệu và nhấp vào Kết hợp, sau đó chọn một dấu phân tách bạn cần từ danh sách;

doc hợp nhất các cột dựa trên một cột 11

(3) Nhấp vào cột bạn muốn tính tổng các giá trị và nhấp vào Tính toán, Và chọn Tổng.

doc hợp nhất các cột dựa trên một cột 12

3. nhấp chuột Ok. Bây giờ bạn có thể thấy kết quả như dưới đây:

doc hợp nhất các cột dựa trên một cột 13

Với Các hàng kết hợp nâng cao tính năng, bạn cũng có thể hợp nhất các hàng dựa trên một cột sau đó đếm, trung bình, giữ dữ liệu đầu tiên hoặc cuối cùng trong các cột khác. 

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 (3)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
I have the same/similar question. I am trying to sum all of the columns to the right of the reference cell but it only sums the one. How do I get it to sum all those to the right individually?
This comment was minimized by the moderator on the site
Hey, your module used to work for big tables as well (eg. you want to sum up according to Year but you have Sales 1, Sales 2, Sales 3....etc). But now it only gets the first column right (Sales 1) and all others are not summed correctly. Did you change anything?
Thanks!
This comment was minimized by the moderator on the site
Hi, IK, maybe you can use the sumproduct function SUMPRODUCT((A2:A10=”Pen”)*(B2:E10)) to calculate them one by one. A2:A10 is the range contain the lookup value, pen is the criterion, B2:E10 is range that you want to sum based on criterion.
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations