Làm cách nào để loại bỏ các hàng trùng lặp và chỉ giữ các giá trị cao nhất trong Excel?
Ví dụ: bạn có một bảng mua hàng trong Excel như ảnh chụp màn hình đầu tiên được hiển thị. Bây giờ bạn cần loại bỏ các hàng trùng lặp dựa trên cột Trái cây và giữ giá trị cao nhất của các loại trái cây tương ứng trong cột Số lượng như ảnh chụp màn hình thứ hai được hiển thị. Bất kỳ giải pháp nào bạn có thể nghĩ ra? Bài viết này sẽ chia sẻ hai thủ thuật để giải quyết nó.
Loại bỏ các hàng trùng lặp và chỉ giữ lại các giá trị cao nhất với VBA
Loại bỏ các hàng trùng lặp và chỉ giữ các giá trị cao nhất với Kutools cho Excel
Dễ dàng loại bỏ các hàng trùng lặp dựa trên tiêu chí trong một cột và chỉ giữ lại các giá trị cao nhất trong Excel
Kutools cho Excel's Các hàng kết hợp nâng cao tiện ích có thể giúp người dùng Excel nhanh chóng tìm ra giá trị lớn nhất và giá trị nhỏ nhất của từng mục trong cột khác một cách dễ dàng.
Tiện ích Hàng Kết hợp Nâng cao này cũng có thể kết hợp các hàng và phân tách các giá trị bằng các dấu được chỉ định hoặc kết hợp các hàng và tính tổng của chúng, số lần xuất hiện, giá trị tối đa / tối thiểu, giá trị trung bình, v.v.
Loại bỏ các hàng trùng lặp và chỉ giữ lại các giá trị cao nhất với VBA
Giả sử bạn có một bảng như ảnh chụp màn hình bên dưới. Và phương pháp này sẽ giới thiệu một macro VBA để loại bỏ các hàng trùng lặp dựa trên một cột nhất định và chỉ giữ các giá trị cao nhất trong một cột khác trong Excel. Vui lòng làm như sau:
1. Nhấn nút Khác + F11 đồng thời để mở cửa sổ Microsoft Visual Basic for Applications.
2. nhấp chuột Chèn > Mô-đunvà dán mã sau vào cửa sổ Mô-đun mở mới.
VBA: Loại bỏ các hàng trùng lặp và giữ các giá trị cao nhất
Public Sub DelDupes()
Dim xFilterRg As Range
Dim xCriteriaRg As Range
Dim xAddress As String
Dim xSUpdate As Boolean
On Error Resume Next
xAddress = Application.ActiveWindow.RangeSelection.Address
Set xFilterRg = Application.InputBox("Please select a range:", "Kutools for Excel", xAddress, , , , , 8)
If xFilterRg Is Nothing Then Exit Sub
Set xFilterRg = Application.Intersect(ActiveSheet.UsedRange, xFilterRg)
If xFilterRg Is Nothing Then Exit Sub
On Error GoTo 0
xSUpdate = Application.ScreenUpdating
Application.ScreenUpdating = False
Set xCriteriaRg = ActiveSheet.Cells(1, xFilterRg.Column + xFilterRg.Columns.Count).Resize(2)
xCriteriaRg.Resize(1).Offset(1).Formula = "=COUNTIF(" & xFilterRg(2, 1).Address & ":" & _
xFilterRg(2, 1).Address(False, False) & "," & _
xFilterRg(2, 1).Address(False, False) & ")>1"
With xFilterRg
.Sort key1:=xFilterRg.Cells(1, 1).Offset(0, 1), order1:=xlDescending, Header:=xlYes
.AdvancedFilter Action:=xlFilterInPlace, CriteriaRange:=xCriteriaRg
.Offset(1).SpecialCells(xlCellTypeVisible).EntireRow.Delete
.Parent.ShowAllData
End With
xCriteriaRg.Clear
Application.ScreenUpdating = xSUpdate
End Sub
3. Nhấn nút F5 phím hoặc nhấp vào chạy để chạy VBA này.
4. Bây giờ một hộp thoại xuất hiện. Vui lòng chọn các cột mà bạn sẽ loại bỏ các hàng trùng lặp và đặt trước các giá trị cao nhất, và nhấp vào OK .
Trong trường hợp của chúng tôi, chúng tôi sẽ loại bỏ các hàng trùng lặp theo Cột Trái cây và giữ giá trị cao nhất trong Cột Số lượng, do đó tôi chọn cột Trái cây và cột Số lượng như ảnh chụp màn hình ở trên.
Sau đó, bạn sẽ thấy các hàng trùng lặp được loại bỏ dựa trên cột Trái cây và giá trị cao nhất của các loại trái cây tương ứng được giữ trong cột Số lượng. Xem ảnh chụp màn hình:
Chú ý:
(1) Phạm vi được chỉ định phải bắt đầu bằng cột mà bạn sẽ loại bỏ các hàng trùng lặp.
(2) VBA này chỉ có thể giữ các giá trị cao nhất trong cột ngay sau cột mà bạn đã loại bỏ các hàng trùng lặp.
(3) VBA này không hoạt động trong Microsoft Excel 2007.
Loại bỏ các hàng trùng lặp và chỉ giữ các giá trị cao nhất với Kutools cho Excel
VBA ở trên có thể không đủ dễ dàng đối với một số người dùng và nó chỉ có thể giữ giá trị cao nhất trong cột sau cột tiêu chí. Nhưng Kutools cho Excel's Các hàng kết hợp nâng cao tiện ích sẽ giúp bạn dễ dàng giải quyết vấn đề này một cách dễ dàng.
Kutools cho Excel - Được đóng gói với hơn 300 công cụ cần thiết cho Excel. Tận hưởng bản dùng thử MIỄN PHÍ 30 ngày đầy đủ tính năng mà không cần thẻ tín dụng! Tải ngay!
1. Chọn bảng bạn sẽ loại bỏ các hàng trùng lặp và giữ các giá trị cao nhất (chọn A1: C24 trong trường hợp của chúng tôi), và nhấp vào Kutools > Nội dung > Các hàng kết hợp nâng cao.
2. Trong hộp thoại Kết hợp Hàng Dựa trên Cột mở, vui lòng cấu hình như sau:
(1) Chọn cột Trái cây (mà bạn sẽ loại bỏ các hàng trùng lặp), sau đó nhấp vào Khóa chính Nút;
(2) Chọn cột Số tiền (Bạn sẽ giữ các giá trị cao nhất), sau đó nhấp vào Tính toán > Max.
(3) Chỉ định quy tắc kết hợp cho các cột khác khi bạn cần.
3. Nhấp vào Ok cái nút. Và sau đó, bạn sẽ thấy tất cả các hàng trùng lặp được loại bỏ dựa trên Cột Trái cây và chỉ giá trị tối đa của các loại trái cây tương ứng được giữ trong cột Số lượng. Xem ảnh chụp màn hình:
Sản phẩm Các hàng kết hợp nâng cao tiện ích của Kutools cho Excel có thể dễ dàng kết hợp các hàng theo một cột và sau đó tính toán các cột khác cũng dựa trên các cột này, chẳng hạn như Tổng, Đếm, Tối đa, Tối thiểu, Sản phẩm, v.v. Nhấp để dùng thử miễn phí 60 ngày, không giới hạn!
Demo: loại bỏ các hàng trùng lặp và chỉ giữ giá trị cao nhất trong Excel
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!