Lọc danh sách không trùng lặp từ danh sách chứa dữ liệu trùng lặp trong excel

 Để lọc ra một danh sách không trùng lắp từ một danh sách chứa dữ liệu trùng lắp thì có rất nhiều cách. Cách đơn giản nhất mà chúng ta thường dùng đó là sử dụng chức năng "Remove duplicates".

Với chức năng remove duplicates trong excel ta chỉ việc chọn danh sách mà mình cần lọc rồi vào data chọn vào nút remove duplicates là có thể lọc ra dược danh sách đã loại bỏ giá trị trùng lặp.

Những với cách sử dụng chức năng remove duplicates này thì mỗi lần thay dữ liệu mới ta lại phải tiến hành làm nó một lần, nếu n lần thay đổi thì n lần chúng ta phải làm lại thao tác đó, thật sự rất nhàm chán và mệt mỏi khi làm điều đó.

Dưới đây là bài viết hướng dẫn cách lọc ra danh sách không trùng lắp từ một danh sách chứa dữ liệu trùng lắp.

Phương pháp để lọc danh sách khung trùng lắp từ danh sách chứa dữ liệu trùng lặp là kết hợp giữa hàm lookup và hàm countif. 

Công thức:

=LOOKUP(2,1/(COUNTIF($F1:F$1, $B$2:$B$12&"")=0), $B$2:$B$12)

hoặc 

=LOOKUP(2, 1/(COUNTIF($F$1:F1, $B$2:$B$10000)+( $B$2:$B$10000="")=0),  $B$2:$B$10000)

Lưu ý &"" hay ( $B$2:$B$10000="") là loại bỏ ô trắng đầu tiên khi xuất danh sách đã lọc ra. Nếu không có phần này thì khi xuất ra bạn sẽ luôn thấy có một ô trống phía trên cùng.

Để thêm điều kiện loại bỏ ở trên thì bạn có thể biến chế theo như công thức dưới đây

=LOOKUP(2,1/((COUNTIF($G$1:G1, $B$2:$B$12&"")+( $D$2:$D$10000="củ"))=0), $B$2:$B$12)

Ngoài cách trên chúng ta cũng có thê sử dụng mảng trong excel để lọc danh sách không trùng lắp như bên dưới

=INDEX($B$2:$B$20,MATCH(0,COUNTIF($F$1:F1,$B$2:$B$20),0))

Sau khi nhập công thức trên xong thì bấm tổ hợp phím "Ctrl + Shift + Enter" lúc này công thức mới chạy và bạn sẽ thấy trong công thức có một chút thay đổi như sau:

{=INDEX($B$2:$B$20,MATCH(0,COUNTIF($I$1:I1,$B$2:$B$20),0))}

Ngoài các cách trên còn có cách sử dụng vba để lọc danh sách không trùng lắp từ danh sách chứa dữ liệu trùng lắp. Nhưng vba thì nhiều người không rành và không biết cách sử dụng như nào, nếu ai muốn thì có thể để lại comment mình up lên cho. 

2 Nhận xét

  1. Lọc danh sách không trùng lắp với vba thế nào ạ. Mong bạn chia sẽ. Thanks.

    Trả lờiXóa
    Trả lời
    1. Bạn sử dụng đoạn code này nha.

      Public Function DemKhongTrung(rng As Range) As Variant

      Dim vaData As Variant
      Dim CellValue As Variant
      Dim arr As Collection

      vaData = rng.Value

      Set arr = New Collection

      On Error Resume Next
      For Each CellValue In vaData
      If CellValue <> "" And Application.CountIf(rng, CellValue) < 2 Then
      arr.Add CellValue, CStr(CellValue)
      End If
      Next
      On Error GoTo 0
      DemKhongTrung = arr.Count

      End Function

      Xóa
Đăng nhận xét
Mới hơn Cũ hơn