Có thể bạn quan tâm: Kiểm Tra Và Xử Lý Dòng 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.
Có thể bạn quan tâm: Cách Chuyển Đổi Số Thành Văn Bản Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
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.
Có thể bạn quan tâm: Cách Thay Đổi Nhãn Trục (axis Label) Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
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:
- Chọn toàn bộ bảng (hoặc cột cần làm sạch).
- Vào Data → Remove Duplicates.
- Chọn các cột xác định “độc nhất” (đối với dữ liệu đa cột).
- 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
UNIQUEvà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ó thể bạn quan tâm: Kiểm Tra Giá Trị True/false Trong Excel: Hướng Dẫn Toàn Diện Và Ứng Dụng Thực Tiễn
Ư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
- Chọn dữ liệu → Insert → PivotTable.
- Đặt trường cần kiểm tra (ví dụ “Mã Sản Phẩm”) vào Rows và Values (đếm).
- 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
COUNTIFhoặcConditional Formattingtrê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:
- Chọn Home → Group By.
- Trong hộp thoại, thêm các cột muốn nhóm (cột A, B, C).
- Chọn Operation là Count Rows.
- 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:=1nế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
- 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.
- 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
TRIMvàCLEANđể chuẩn hoá. - Đị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.
- Kiểm Tra Phân Biệt Hoa Thường (Case Sensitive):
COUNTIFkhông phân biệt hoa thường, cònEXACTthì có. Nếu cần phân biệt, dùng công thức mảng vớiEXACT. - 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.

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
