Cách Tìm Số Trùng Lặp Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

Mở Đầu

Trong môi trường làm việc hiện đại, Excel đã trở thành một công cụ không thể thiếu cho việc xử lý dữ liệu, thống kê và phân tích. Một trong những nhu cầu phổ biến nhất của người dùng là tìm và xử lý các giá trị trùng lặp (duplicate values) trong bảng tính. Việc này không chỉ giúp làm sạch dữ liệu, giảm thiểu lỗi mà còn nâng cao độ chính xác của các báo cáo, biểu đồ và các quyết định dựa trên dữ liệu.

Bài viết dưới đây sẽ cung cấp cho bạn một hướng dẫn chi tiết, đầy đủ và thực tiễn về cách tìm số trùng lặp trong Excel. Chúng tôi sẽ khai thác từ những phương pháp đơn giản nhất, sử dụng công cụ có sẵn trong Excel, tới các kỹ thuật nâng cao hơn như công thức mảng, Power Query và VBA. Ngoài ra, bạn sẽ được học cách:

  • Xác định và đánh dấu các giá trị trùng lặp trong một cột hoặc nhiều cột.
  • Đếm số lần xuất hiện của mỗi giá trị.
  • Lọc, loại bỏ hoặc giữ lại các bản ghi trùng lặp tùy theo nhu cầu.
  • Tự động hoá quy trình bằng macro VBA.

Hãy cùng bắt đầu khám phá từng bước một, để bạn có thể tự tin xử lý mọi tình huống dữ liệu trùng lặp trong Excel.

1. Hiểu Rõ Về “Trùng Lặp” Trong Excel

1.1. Định Nghĩa

Trong Excel, trùng lặp (duplicate) đề cập đến các giá trị hoặc bản ghi xuất hiện hai lần trở lên trong một phạm vi dữ liệu. Trùng lặp có thể xảy ra ở:

  • Cột đơn: Ví dụ, danh sách mã khách hàng trong một cột có một số mã xuất hiện nhiều lần.
  • Nhiều cột: Khi một tập hợp các trường (ví dụ: Họ, Tên, Ngày sinh) xuất hiện giống hệt nhau ở nhiều hàng.

1.2. Tại Sao Cần Xử Lý Trùng Lặp?

  • Độ chính xác: Dữ liệu trùng lặp có thể làm sai lệch kết quả tính toán, thống kê.
  • Hiệu suất: Bảng dữ liệu lớn chứa nhiều bản sao sẽ làm chậm quá trình xử lý và phân tích.
  • Quyết định kinh doanh: Ví dụ, trong danh sách khách hàng, trùng lặp có thể dẫn đến gửi email marketing nhiều lần cho cùng một người.

2. Các Phương Pháp Cơ Bản Để Tìm Trùng Lặp (Excel 2026‑2026)

2.1. Sử Dụng Conditional Formatting (Định Dạng Có Điều Kiện)

Bước 1: Chọn phạm vi dữ liệu cần kiểm tra (ví dụ: A2:A1000).
Bước 2: Vào Home → Conditional Formatting → Highlight Cells Rules → Duplicate Values….
Bước 3: Trong hộp thoại, chọn màu sắc để hiển thị các ô trùng lặp và nhấn OK.

Lưu ý: Phương pháp này chỉ đánh dấu các ô trùng lặp, không hiển thị số lần xuất hiện.

2.2. Sử Dụng Remove Duplicates (Xóa Bản Sao)

Nếu mục tiêu là loại bỏ các giá trị trùng lặp:

  1. Chọn toàn bộ bảng (hoặc cột cần làm sạch).
  2. Vào Data → Remove Duplicates.
  3. Chọn các cột xác định “độc nhất” (đối với dữ liệu đa cột).
  4. Nhấn OK, Excel sẽ thông báo số bản ghi đã xóa và số bản ghi còn lại.

Cảnh báo: Thao tác này không thể hoàn tác nếu bạn không có bản sao lưu. Nên sao chép dữ liệu sang một sheet mới trước khi thực hiện.

2.3. Sử Dụng Hàm COUNTIF Để Đếm Số Lần Xuất Hiện

Giả sử danh sách mã sản phẩm nằm ở cột A (A2:A1000). Bạn có thể tạo một cột phụ (ví dụ cột B) để tính số lần mỗi mã xuất hiện:

=COUNTIF($A$2:$A$1000, A2)
  • Kéo công thức xuống toàn bộ cột B.
  • Các ô có giá trị >1 là các mục trùng lặp.
  • Bạn có thể lọc cột B để chỉ hiển thị các giá trị >1.

2.4. Hàm SUMPRODUCT Kết Hợp Với ROW Để Xác Định Bản Sao Đầu Tiên

Nếu muốn đánh dấu chỉ bản sao đầu tiên (giữ lại một bản sao, đánh dấu các bản sao còn lại), dùng công thức mảng sau trong cột phụ (C2) và kéo xuống:

=IF(SUMPRODUCT(($A$2:$A$1000=A2)(ROW($A$2:$A$1000)<ROW()))>0,"Duplicate","Unique")
  • Khi công thức trả về “Duplicate” → là bản sao không phải bản đầu.
  • “Unique” → là bản đầu (hoặc không trùng).

Lưu ý: Đối với Excel 365/2026, có thể dùng hàm UNIQUE và FILTER để thao tác nhanh hơn (xem phần 4).

3. Kỹ Thuật Nâng Cao: Công Thức Mảng, Power Query và Hàm Mới

3.1. Hàm UNIQUE (Excel 365/2026)

UNIQUE trả về danh sách các giá trị độc nhất từ một phạm vi:

=UNIQUE(A2:A1000)

Nếu muốn đếm số lần xuất hiện của mỗi giá trị, kết hợp UNIQUE và COUNTIF:

=LET( uniq, UNIQUE(A2:A1000), cnt, COUNTIF(A2:A1000, uniq), HSTACK(uniq, cnt) // Hoặc dùng CHOOSE để tạo bảng 2 cột
)

Kết quả sẽ là một mảng 2 cột: giá trị độc nhất và số lần xuất hiện.

3.2. Power Query (Get & Transform)

Power Query là công cụ mạnh mẽ để làm sạch dữ liệu mà không cần viết công thức.

Bước 1: Chọn bảng → Data → From Table/Range.
Bước 2: Power Query Editor mở ra.
Bước 3: Chọn cột muốn kiểm tra trùng → Home → Keep Rows → Keep Duplicates để chỉ giữ các bản sao.
Bước 4: Nếu muốn đếm số lần xuất hiện, chọn cột → Transform → Group By, đặt Operation là Count Rows.
Bước 5: Nhấn Close & Load để đưa kết quả về Excel.

Cách Tìm Số Trùng Lặp Trong Excel
Cách Tìm Số Trùng Lặp Trong Excel

Ưu điểm:

  • Không thay đổi dữ liệu gốc.
  • Dễ dàng cập nhật khi dữ liệu nguồn thay đổi (Refresh).

3.3. Hàm XLOOKUP & FILTER Để Lấy Danh Sách Trùng Lặp

Ví dụ, muốn lấy danh sách các giá trị xuất hiện hơn 1 lần:

=FILTER(A2:A1000, COUNTIF(A2:A1000, A2:A1000)>1)

Công thức trên trả về một mảng các giá trị trùng lặp (có thể có lặp lại). Để loại bỏ lặp trong kết quả, kết hợp UNIQUE:

=UNIQUE(FILTER(A2:A1000, COUNTIF(A2:A1000, A2:A1000)>1))

3.4. Sử Dụng PivotTable Để Tổng Hợp Số Lần Xuất Hiện

  1. Chọn dữ liệu → Insert → PivotTable.
  2. Đặt trường cần kiểm tra (ví dụ “Mã Sản Phẩm”) vào Rows và Values (đếm).
  3. Trong PivotTable, lọc giá trị Count of Mã Sản Phẩm > 1 để chỉ hiển thị các mục trùng lặp.

PivotTable cung cấp cách nhanh chóng để phân tích mức độ trùng lặp và tạo báo cáo.

4. Xử Lý Trùng Lặp Nhiều Cột (Dữ Liệu Đa Trường)

Khi dữ liệu có nhiều trường (cột) và bạn muốn xác định các bản ghi giống hệt nhau trên toàn bộ hoặc một phần các cột, có một số cách:

4.1. Kết Hợp Các Cột Thành Một Dòng Dữ Liệu (Concatenation)

Giả sử dữ liệu gồm cột A (Họ), B (Tên), C (Ngày sinh). Tạo cột phụ D:

=A2 & "|" & B2 & "|" & TEXT(C2,"yyyy-mm-dd")
  • Dùng dấu “|” làm delimiter để tránh trường hợp giá trị có chứa nhau.
  • Sau đó áp dụng COUNTIF hoặc Conditional Formatting trên cột D để tìm trùng lặp.

4.2. Sử Dụng Power Query Nhóm (Group By) Nhiều Cột

Trong Power Query:

  1. Chọn Home → Group By.
  2. Trong hộp thoại, thêm các cột muốn nhóm (cột A, B, C).
  3. Chọn Operation là Count Rows.
  4. Kết quả sẽ cho biết mỗi nhóm (bản ghi duy nhất) xuất hiện bao nhiêu lần.

4.3. Hàm XLOOKUP Kết Hợp Với Nhiều Điều Kiện

Nếu muốn kiểm tra xem một bản ghi có tồn tại trùng trong các cột khác không, có thể dùng:

=IF( SUMPRODUCT( (A$2:A$1000=A2) (B$2:B$1000=B2) (C$2:C$1000=C2) )>1, "Duplicate", "Unique"
)

Công thức này trả về “Duplicate” nếu có ít nhất một bản ghi khác có cùng Họ, Tên, Ngày sinh.

5. Tự Động Hóa Với VBA: Macro Tìm Và Đánh Dấu Trùng Lặp

Đối với những file lớn, hoặc khi cần thực hiện lặp lại quy trình thường xuyên, VBA là giải pháp tối ưu.

5.1. Macro Đánh Dấu Trùng Lặp Trong Cột Đơn

Sub HighlightDuplicates() Dim rng As Range, cell As Range Dim dict As Object Set dict = CreateObject("Scripting.Dictionary") 'Thay đổi Sheet1 và cột A cho phù hợp Set rng = Worksheets("Sheet1").Range("A2", Worksheets("Sheet1").Cells(Rows.Count, "A").End(xlUp)) Application.ScreenUpdating = False For Each cell In rng If Not IsEmpty(cell) Then If dict.Exists(cell.Value) Then cell.Interior.Color = RGB(255, 199, 199) 'Màu nền đỏ nhạt Else dict.Add cell.Value, 1 End If End If Next cell Application.ScreenUpdating = True MsgBox "Hoàn thành! Các ô trùng lặp đã được đánh dấu.", vbInformation
End Sub
  • Cách dùng: Mở VBA Editor (Alt+F11), chèn Module mới, dán code và chạy macro.
  • Macro sẽ tô màu nền cho các ô trùng lặp trong cột A, bắt đầu từ A2.

5.2. Macro Xóa Các Bản Sao Để Chỉ Giữ Bản Đầu Tiên

Sub RemoveDuplicatesKeepFirst() Dim ws As Worksheet Dim rng As Range Dim lastRow As Long Set ws = ThisWorkbook.Worksheets("Sheet1") lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row Set rng = ws.Range("A1:A" & lastRow) 'Xóa trùng lặp, giữ lại bản đầu tiên rng.RemoveDuplicates Columns:=1, Header:=xlYes MsgBox "Đã xóa các bản sao, chỉ giữ lại bản ghi đầu tiên.", vbInformation
End Sub
  • Thay đổi Columns:=1 nếu muốn dựa trên nhiều cột (ví dụ Array(1,2,3) cho A, B, C).

5.3. Macro Đếm Số Lần Xuất Hiện và Ghi Vào Cột B

Sub CountDuplicates() Dim ws As Worksheet Dim dict As Object Dim rng As Range, cell As Range Dim i As Long Set ws = ThisWorkbook.Worksheets("Sheet1") Set dict = CreateObject("Scripting.Dictionary") Set rng = ws.Range("A2", ws.Cells(ws.Rows.Count, "A").End(xlUp)) 'Đếm For Each cell In rng If Not IsEmpty(cell) Then If dict.Exists(cell.Value) Then dict(cell.Value) = dict(cell.Value) + 1 Else dict.Add cell.Value, 1 End If End If Next cell 'Ghi kết quả vào cột B For i = 2 To rng.Rows.Count + 1 ws.Cells(i, "B").Value = dict(ws.Cells(i, "A").Value) Next i MsgBox "Đã ghi số lần xuất hiện vào cột B.", vbInformation
End Sub
  • Kết quả: Cột B sẽ chứa số lần mỗi giá trị trong cột A xuất hiện.

6. Các Lưu Ý Thực Tiễn Khi Xử Lý Trùng Lặp

  1. Kiểm Tra Dữ Liệu Gốc: Trước khi xóa hoặc thay đổi, luôn sao lưu file hoặc tạo một sheet phụ để tránh mất mát dữ liệu.
  2. Xử Lý Khoảng Trắng (Blank) và Dấu Cách: Các ô trống hoặc chứa dấu cách có thể được tính là “trùng”. Dùng hàm TRIM và CLEAN để chuẩn hoá.
  3. Định Dạng Số và Văn Bản: Số 001 và 1 có thể được xem là khác nhau nếu một cột được định dạng là Text. Hãy thống nhất định dạng trước khi kiểm tra.
  4. Kiểm Tra Phân Biệt Hoa Thường (Case Sensitive): COUNTIF không phân biệt hoa thường, còn EXACT thì có. Nếu cần phân biệt, dùng công thức mảng với EXACT.
  5. Hiệu Suất Với Dữ Liệu Lớn: Khi làm việc với hàng chục nghìn hoặc hơn, các công thức mảng có thể chậm. Nên dùng Power Query hoặc VBA để tối ưu.

7. Tổng Kết

Việc tìm số trùng lặp trong Excel không còn là thách thức khi bạn nắm vững các công cụ và kỹ thuật phù hợp. Từ những cách đơn giản như Conditional Formatting, tới các hàm mạnh mẽ như UNIQUE, FILTER, COUNTIF, hay công cụ Power Query, bạn có thể:

  • Nhận diện nhanh chóng các giá trị trùng lặp.
  • Đếm số lần xuất hiện để đánh giá mức độ trùng.
  • Lọc, loại bỏ hoặc giữ lại các bản sao tùy nhu cầu.
  • Tự động hoá quy trình bằng VBA cho các tác vụ lặp lại.

Hãy áp dụng các bước trong bài viết tùy theo độ phức tạp và khối lượng dữ liệu của bạn. Khi đã thành thạo, bạn sẽ tiết kiệm thời gian đáng kể, nâng cao chất lượng dữ liệu và đưa ra các quyết định kinh doanh chính xác hơn.

Chúc bạn thành công! Nếu có bất kỳ thắc mắc nào, đừng ngần ngại để lại bình luận hoặc hỏi trực tiếp. Chúng tôi luôn sẵn sàng hỗ trợ bạn trong hành trình làm việc với Excel.

⚠️
LƯU Ý QUAN TRỌNG: Miễn trừ trách nhiệm: Mặc dù chúng tôi luôn nỗ lực để đảm bảo tính chính xác và cập nhật của thông tin, nhưng các quy định về giáo dục và tuyển sinh có thể thay đổi theo thời gian. BigSchool không chịu trách nhiệm về bất kỳ sai sót nào hoặc kết quả phát sinh từ việc sử dụng thông tin trên trang này. Độc giả nên liên hệ trực tiếp với nhà trường hoặc cơ quan chức năng để có thông tin mới nhất. Ngoài ra, BigSchool tuyệt đối không bán sản phẩm, khóa học hay cung cấp dịch vụ được nhắc đến trong bài.

Viết một bình luận