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.
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! |
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:
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.
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.
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:
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.
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:
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.
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:
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;
(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;
(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.
3. nhấp chuột Ok. Bây giờ bạn có thể thấy kết quả như dưới đây:
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
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...
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!