Có thể bạn quan tâm: Cách Tính Thâm Niên 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 vẫn là công cụ không thể thiếu đối với các chuyên gia phân tích dữ liệu, kế toán, quản lý dự án và hầu hết các nhân viên văn phòng. Một trong những nhiệm vụ thường gặp nhất khi làm việc với bảng tính là tìm và xử lý dữ liệu trùng lặp. Dữ liệu trùng lặp không chỉ làm giảm chất lượng báo cáo, gây sai lệch trong phân tích mà còn làm tăng thời gian xử lý và chi phí lưu trữ. Vì vậy, nắm vững các kỹ thuật tìm dữ liệu trùng nhau trong Excel là vô cùng cần thiết.
Bài viết dưới đây sẽ cung cấp cho bạn một hướng dẫn chi tiết, từ các phương pháp cơ bản nhất đến các kỹ thuật nâng cao, giúp bạn nhanh chóng phát hiện và loại bỏ (hoặc đánh dấu) các bản ghi trùng lặp trong Excel. Nội dung sẽ bao gồm:
- Khái niệm và nguyên nhân xuất hiện dữ liệu trùng lặp.
- Các công cụ và hàm cơ bản trong Excel để tìm trùng lặp: Conditional Formatting, Remove Duplicates, hàm
COUNTIF,COUNTIFS,VLOOKUP,MATCH,IF,SUMPRODUCT. - Sử dụng Power Query để xử lý dữ liệu trùng lặp ở quy mô lớn.
- Kỹ thuật nâng cao với VBA (Macro) để tự động hoá quy trình.
- Các lưu ý khi làm việc với dữ liệu đa cột, dữ liệu có khoảng trắng, ký tự đặc biệt, hoặc dữ liệu dạng ngày tháng.
- Cách duy trì dữ liệu sạch và ngăn ngừa trùng lặp trong tương lai.
- Bộ công cụ và tài nguyên tham khảo bổ sung.
Hãy cùng đi sâu vào từng phần để nắm vững mọi khía cạnh của vấn đề.
Có thể bạn quan tâm: Cách Tính Tổng Hàng Dọc Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Hiểu Rõ Về Dữ Liệu Trùng Lặp
1.1 Định Nghĩa
Dữ liệu trùng lặp (duplicate data) trong Excel là các bản ghi (row) hoặc giá trị (cell) xuất hiện đúng hoặc gần giống nhau ở một hoặc nhiều cột. Tùy vào mục đích phân tích, “trùng lặp” có thể được định nghĩa:
- Trùng lặp hoàn toàn: Tất cả các cột trong một hàng có giá trị giống hệt nhau.
- Trùng lặp một phần: Chỉ một số cột (hoặc một cột) có giá trị giống nhau, các cột còn lại có thể khác.
- Gần giống: Có thể có khoảng trắng thừa, ký tự hoa/thường khác nhau, hoặc định dạng ngày tháng khác.
1.2 Nguyên Nhân Gây Ra Trùng Lặp
| Nguyên Nhân | Mô Tả |
|---|---|
| Nhập liệu thủ công | Người dùng nhập lại cùng một thông tin nhiều lần. |
| Kết hợp dữ liệu từ nhiều nguồn | Khi hợp nhất các file CSV, TXT, hoặc workbook khác nhau. |
| Lỗi trong công thức | Công thức VLOOKUP, INDEX-MATCH trả về giá trị không mong muốn. |
| Import dữ liệu | Khi import dữ liệu từ hệ thống ERP, CRM, hoặc API mà không có kiểm soát. |
| Định dạng không đồng nhất | Khoảng trắng, ký tự đặc biệt, hoặc ngày tháng được lưu dưới dạng text. |
Hiểu rõ nguyên nhân sẽ giúp bạn chọn phương pháp phù hợp nhất để xử lý.
Có thể bạn quan tâm: Hàm Tính Bình Quân Trong Excel: Hướng Dẫn Toàn Diện Từ Cơ Bản Đến Nâng Cao
2. Các Phương Pháp Cơ Bản Để Tìm Dữ Liệu Trùng Lặp
2.1 Sử Dụng Conditional Formatting (Định Dạng Có Điều Kiện)
Đây là cách nhanh nhất để đánh dấu các giá trị trùng lặp trong một cột hoặc một vùng dữ liệu.
Bước thực hiện:
- Chọn vùng dữ liệu (ví dụ: cột A2:A1000).
- Vào Home → Conditional Formatting → Highlight Cells Rules → Duplicate Values….
- Chọn màu hiển thị (mặc định là Light Red Fill with Dark Red Text).
- Nhấn OK.
Lưu ý:
– Nếu muốn tìm trùng lặp dựa trên nhiều cột, bạn cần tạo một cột hỗ trợ (helper column) kết hợp các giá trị bằng công thức =A2&B2&C2 và áp dụng Conditional Formatting cho cột này.
– Đối với dữ liệu có khoảng trắng thừa, hãy dùng hàm TRIM trong cột hỗ trợ trước khi áp dụng.
2.2 Remove Duplicates (Xóa Trùng Lặp)
Công cụ Remove Duplicates cho phép bạn xóa trực tiếp các hàng trùng lặp, giữ lại một bản ghi duy nhất.
Cách thực hiện:
- Chọn bảng dữ liệu (hoặc toàn bộ sheet nếu cần).
- Vào Data → Remove Duplicates.
- Trong hộp thoại, chọn các cột mà bạn muốn xét trùng lặp (có thể chọn nhiều cột).
- Nhấn OK; Excel sẽ thông báo số hàng bị xóa và số hàng 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 lưu bản sao. Nên sao lưu dữ liệu trước.
– Nếu muốn giữ lại bản sao của các bản ghi bị xóa, hãy sao chép dữ liệu sang một sheet khác trước khi thực hiện.
2.3 Hàm COUNTIF và COUNTIFS
COUNTIF và COUNTIFS là các hàm đếm số lần xuất hiện của một giá trị (hoặc một tập hợp điều kiện) trong một phạm vi.
2.3.1 Đếm trùng lặp trong một cột
Giả sử cột A chứa danh sách mã khách hàng (A2:A1000). Bạn muốn đánh dấu các mã xuất hiện hơn 1 lần.
=IF(COUNTIF($A$2:$A$1000, A2)>1, "Trùng", "Độc")
- Nhập công thức vào ô B2 và kéo xuống.
- Kết quả “Trùng” sẽ xuất hiện ở các hàng có giá trị lặp.
2.3.2 Đếm trùng lặp dựa trên nhiều cột
Ví dụ: Bạn muốn kiểm tra trùng lặp dựa trên cột A (Mã khách) và cột B (Ngày giao dịch).
=IF(COUNTIFS($A$2:$A$1000, A2, $B$2:$B$1000, B2)>1, "Trùng", "Độc")
2.3.3 Tạo cột hỗ trợ để so sánh toàn bộ hàng
Nếu muốn xét toàn bộ các cột (A:D) cùng lúc:
- Tạo cột E với công thức ghép:
=A2 & "|" & B2 & "|" & C2 & "|" & D2
- Sau đó dùng
COUNTIFtrên cột E:
=IF(COUNTIF($E$2:$E$1000, E2)>1, "Trùng", "Độc")
2.4 Hàm MATCH và VLOOKUP
MATCH trả về vị trí của một giá trị trong một mảng. Khi kết hợp với IFERROR, bạn có thể kiểm tra xem giá trị có tồn tại ở vị trí khác hay không.
=IFERROR(IF(MATCH(A2, $A$1:A1, 0), "Trùng", "Độc"), "Độc")
- Công thức này so sánh giá trị hiện tại với các giá trị phía trên.
- Nếu
MATCHtìm thấy, nghĩa là đã xuất hiện trước đó → “Trùng”.
VLOOKUP thường được dùng để so sánh hai danh sách khác nhau, ví dụ: danh sách khách hàng trong Sheet1 so với Sheet2.
=IFERROR(IF(VLOOKUP(A2, Sheet2!$A$2:$A$1000, 1, FALSE)=A2, "Trùng", "Độc"), "Độc")
2.5 SUMPRODUCT – Phương Pháp Linh Hoạt
SUMPRODUCT cho phép đếm các điều kiện phức tạp mà COUNTIFS không hỗ trợ (ví dụ: so sánh với bảng động).
=IF(SUMPRODUCT(($A$2:$A$1000=A2)($B$2:$B$1000=B2))>1, "Trùng", "Độc")
- Công thức này đếm số hàng mà cột A = A2 và cột B = B2 đồng thời.
- Nếu kết quả >1 → “Trùng”.
3. Xử Lý Dữ Liệu Trùng Lặp Với Power Query
Khi dữ liệu lên tới hàng chục, hàng trăm nghìn, các công cụ truyền thống trong Excel có thể chậm hoặc không đáp ứng. Power Query (trong Excel 2026 trở lên, hoặc qua Add‑in “Get & Transform”) là giải pháp mạnh mẽ để import, làm sạch và biến đổi dữ liệu.
3.1 Nhập Dữ Liệu Vào Power Query
- Chọn Data → Get Data → From Table/Range (hoặc From File nếu là CSV/Excel khác).
- Power Query Editor sẽ mở ra.
3.2 Loại Bỏ Dòng Trùng Lặp
Trong Power Query:
- Chọn Home → Remove Rows → Remove Duplicates.
- Power Query sẽ tự động xác định các cột được chọn (mặc định là tất cả).
- Nếu muốn chỉ dựa trên một vài cột, chọn các cột trước khi bấm “Remove Duplicates”.
3.3 Đánh Dấu Dòng Trùng Lặp (Thêm Cột)

Có thể bạn quan tâm: Các Tổ Hợp Phím Trong Excel: Bí Quyết Tăng Năng Suất Làm Việc Cho Mọi Người Dùng
Nếu bạn muốn giữ lại tất cả dữ liệu và chỉ đánh dấu các bản ghi trùng lặp:
- Duplicate Column (nhân bản cột) hoặc tạo Custom Column:
= Table.AddColumn(#"PreviousStep", "IsDuplicate", each List.Count( Table.SelectRows(#"PreviousStep", (r) => rColumnA=ColumnA and rColumnB=ColumnB)) > 1)
- Kết quả sẽ là TRUE/FALSE hoặc “Trùng”/“Độc”.
3.4 Kết Hợp Nhiều Bảng Đầu Vào
Khi có nhiều nguồn dữ liệu (ví dụ: file CSV hàng ngày), bạn có thể append (gộp) các bảng và sau đó thực hiện loại bỏ trùng lặp một lần duy nhất.
- Home → Append Queries → chọn các bảng cần gộp.
- Thực hiện Remove Duplicates trên bảng đã gộp.
3.5 Lưu Kết Quả Trở Lại Excel
Khi hoàn tất, bấm Home → Close & Load để đưa dữ liệu đã xử lý vào một sheet mới hoặc hiện tại.
Ưu điểm Power Query:
- Xử lý dữ liệu tự động hoá (có thể lưu lại các bước và refresh khi dữ liệu mới vào).
- Hiệu suất tốt hơn rất nhiều so với công thức trên hàng triệu bản ghi.
- Dễ dàng gỡ lỗi bằng cách xem từng bước trong “Applied Steps”.
4. Tự Động Hóa Với VBA (Macro)
Đối với người dùng muốn tự động hoá toàn bộ quy trình (đánh dấu + xóa + báo cáo), VBA là công cụ mạnh mẽ. Dưới đây là một macro mẫu thực hiện:
- Đánh dấu các dòng trùng lặp dựa trên một hoặc nhiều cột.
- Sao chép các dòng trùng lặp vào một sheet “Duplicates”.
- Xóa các dòng trùng lặp trong sheet gốc, giữ lại một bản ghi duy nhất.
4.1 Mã VBA Mẫu
Sub FindAndHandleDuplicates() Dim wsSrc As Worksheet, wsDup As Worksheet Dim rngData As Range, dict As Object Dim key As String, i As Long, lastRow As Long, dupRow As Long Set wsSrc = ThisWorkbook.Sheets("Data") ' Sheet chứa dữ liệu gốc Set wsDup = ThisWorkbook.Sheets("Duplicates") ' Sheet sẽ lưu trữ trùng lặp wsDup.Cells.Clear ' Xóa nội dung cũ lastRow = wsSrc.Cells(wsSrc.Rows.Count, "A").End(xlUp).Row Set rngData = wsSrc.Range("A2:D" & lastRow) ' Giả sử dữ liệu A:D, tiêu đề ở hàng 1 Set dict = CreateObject("Scripting.Dictionary") dupRow = 2 ' Bắt đầu ghi vào sheet Duplicates từ hàng 2 Application.ScreenUpdating = False For i = 2 To lastRow ' Tạo key ghép các cột A, B, C, D (có thể thay đổi tùy nhu cầu) key = Trim(rngData.Cells(i - 1, 1).Value) & "|" & _ Trim(rngData.Cells(i - 1, 2).Value) & "|" & _ Trim(rngData.Cells(i - 1, 3).Value) & "|" & _ Trim(rngData.Cells(i - 1, 4).Value) If dict.Exists(key) Then ' Đánh dấu màu vàng cho dòng trùng trong sheet gốc wsSrc.Rows(i).Interior.Color = vbYellow ' Sao chép dòng này vào sheet Duplicates wsSrc.Rows(i).Copy wsDup.Rows(dupRow) dupRow = dupRow + 1 Else dict.Add key, i End If Next i ' Xóa các dòng đã được đánh dấu (trừ dòng đầu tiên giữ lại) For i = lastRow To 2 Step -1 If wsSrc.Rows(i).Interior.Color = vbYellow Then wsSrc.Rows(i).Delete End If Next i Application.ScreenUpdating = True MsgBox "Hoàn tất! Đã sao chép " & dupRow - 2 & " bản ghi trùng lặp vào sheet 'Duplicates'.", vbInformation
End Sub
Giải thích mã:
- Dictionary (
Scripting.Dictionary) dùng để lưu key duy nhất (kết hợp các cột). Khi gặp key đã tồn tại → phát hiện trùng lặp. - Trim loại bỏ khoảng trắng thừa.
- Color đánh dấu các dòng trùng lặp bằng màu vàng (có thể thay đổi).
- Copy sao chép các dòng trùng sang sheet “Duplicates”.
- Delete xóa các dòng trùng (bắt đầu từ cuối lên để tránh lỗi khi xóa).
4.2 Khi Nào Nên Dùng VBA?
- Khi phải lặp lại quy trình trên nhiều file hoặc nhiều lần.
- Khi dữ liệu quá lớn và các công cụ tích hợp (Conditional Formatting, Remove Duplicates) chậm.
- Khi cần báo cáo chi tiết (ví dụ: ghi lại thời gian, số lượng bản ghi trùng).
5. Xử Lý Các Trường Hợp Đặc Biệt
5.1 Dữ Liệu Có Khoảng Trắng Thừa
- Giải pháp: Sử dụng hàm
TRIMhoặcCLEANtrong cột hỗ trợ trước khi kiểm tra trùng lặp. - Ví dụ:
=TRIM(A2)→ Sau đó dùngCOUNTIFtrên cột đã làm sạch.
5.2 Dữ Liệu Không Nhạy Cảm Với Viết Hoa/Thường
- Giải pháp: Chuyển toàn bộ dữ liệu sang chữ thường (
LOWER) hoặc chữ hoa (UPPER) trước khi so sánh. - Ví dụ:
=LOWER(A2)→COUNTIF($B$2:$B$1000, LOWER(A2)).
5.3 Dữ Liệu Ngày Tháng
Ngày tháng có thể được lưu dưới dạng text hoặc serial number. Khi so sánh, nên chuẩn hoá:
=IF(COUNTIF($B$2:$B$1000, INT(A2))>1, "Trùng", "Độc")
INTchuyển ngày tháng dạng serial (số nguyên) để loại bỏ thời gian nếu có.
5.4 Dữ Liệu Với Ký Tự Đặc Biệt (ví dụ: dấu gạch ngang, dấu chấm)
- Cách xử lý: Dùng hàm
SUBSTITUTEđể loại bỏ ký tự không mong muốn.
=SUBSTITUTE(SUBSTITUTE(A2, "-", ""), ".", "")
Sau khi làm sạch, áp dụng COUNTIF hoặc COUNTIFS.
5.5 Kiểm Tra Trùng Lặp Giữa Hai Sheet Khác Nhau
- Sử dụng VLOOKUP hoặc XLOOKUP (Excel 365/2026).
- Ví dụ, kiểm tra mã khách trong Sheet1 so với Sheet2:
=IFERROR(IF(XLOOKUP(A2, Sheet2!$A$2:$A$5000, Sheet2!$A$2:$A$5000, "")=A2, "Trùng", "Độc"), "Độc")
- Nếu muốn trả về số lần xuất hiện trong Sheet2:
=COUNTIF(Sheet2!$A$2:$A$5000, A2)
6. Duy Trì Dữ Liệu Sạch Và Ngăn Ngừa Trùng Lặp
6.1 Thiết Lập Validation (Xác Thực Dữ Liệu)
- Data Validation → Custom: Dùng công thức
=COUNTIF($A$2:$A$1000, A2)=1để ngăn người dùng nhập giá trị đã tồn tại. - Khi nhập dữ liệu mới, Excel sẽ hiện cảnh báo nếu giá trị trùng.
6.2 Sử Dụng Table và Structured References
- Khi dữ liệu được đặt trong Table (
Ctrl+T), các công thức sẽ tự động mở rộng khi thêm dòng mới, tránh bỏ sót các bản ghi mới trong việc kiểm tra trùng lặp.
6.3 Thực Hiện Kiểm Tra Định Kỳ
- Macro scheduled (Task Scheduler + VBA) để chạy kiểm tra trùng lặp mỗi ngày hoặc mỗi khi file được mở.
- Gửi email báo cáo qua Outlook VBA nếu phát hiện quá mức trùng lặp cho phép.
6.4 Ghi Chú và Tài Liệu Hóa Quy Trình
- Lưu lại SOP (Standard Operating Procedure) cho việc nhập dữ liệu: quy tắc viết hoa, không để khoảng trắng, định dạng ngày tháng chuẩn.
- Đào tạo người dùng cuối về tầm quan trọng của dữ liệu sạch.
7. Bộ Công Cụ, Add‑In Và Tài Nguyên Tham Khảo
| Công Cụ | Mô Tả | Link |
|---|---|---|
| Power Query | Nhập, biến đổi, loại bỏ trùng lặp mạnh mẽ. | Data → Get & Transform |
| Kutools for Excel | Add‑in có tính năng “Select Duplicate & Unique Cells”. | https://www.extendoffice.com/product/kutools-for-excel.html |
| Ablebits Duplicate Remover | Add‑in chuyên nghiệp, hỗ trợ nhiều tiêu chí trùng lặp. | https://www.ablebits.com/excel-duplicate-remover/ |
| Excel VBA – Scripting.Dictionary | Tham khảo cách dùng Dictionary để xử lý trùng lặp nhanh. | https://docs.microsoft.com/office/vba/language/reference/user-interface-help/dictionary-object |
| Microsoft Docs – COUNTIFS | Hướng dẫn chi tiết về hàm COUNTIFS. | https://learn.microsoft.com/en-us/office/troubleshoot/excel/countifs-function |
8. Tổng Kết
Việc tìm và xử lý dữ liệu trùng lặp trong Excel không chỉ là một nhiệm vụ kỹ thuật mà còn là một phần quan trọng của quản trị dữ liệu. Bài viết đã trình bày:
- Khái niệm và nguyên nhân gây ra trùng lặp.
- Các công cụ cơ bản: Conditional Formatting, Remove Duplicates, hàm
COUNTIF/COUNTIFS,MATCH,VLOOKUP. - Power Query – giải pháp mạnh mẽ cho dữ liệu lớn.
- VBA – tự động hoá quy trình, tạo báo cáo chi tiết.
- Xử lý các trường hợp đặc biệt (khoảng trắng, ký tự đặc biệt, ngày tháng, trùng lặp đa cột).
- Chiến lược duy trì dữ liệu sạch và ngăn ngừa trùng lặp trong tương lai.
- Tài nguyên bổ trợ giúp bạn mở rộng kiến thức và áp dụng nhanh vào thực tiễn.
Áp dụng những phương pháp trên một cách linh hoạt sẽ giúp bạn:
- Tiết kiệm thời gian đáng kể trong việc làm sạch dữ liệu.
- Nâng cao độ tin cậy của các báo cáo, phân tích và quyết định dựa trên dữ liệu.
- Giảm rủi ro sai sót do dữ liệu trùng lặp gây ra trong quy trình kinh doanh.
Hãy bắt tay vào thực hành ngay hôm nay, chọn công cụ phù hợp với quy mô và tính chất dữ liệu của bạn, và đừng quên lưu lại SOP để cả đội ngũ luôn duy trì một môi trường dữ liệu sạch, chuẩn và hiệu quả. Chúc bạn thành công!

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ẻ.
