Có thể bạn quan tâm: Phím Tắt Paste Special Trong Excel: Tối Ưu Hoá Công Việc Và Nâng Cao Năng Suất
Mở đầu
Trong quá trình làm việc với dữ liệu, việc xuất hiện các bản ghi trùng lặp là điều khá phổ biến, nhất là khi chúng ta nhập dữ liệu từ nhiều nguồn khác nhau, hợp nhất các file, hoặc thực hiện các thao tác sao chép, dán. Những bản ghi trùng lặp không chỉ làm cho bảng tính trở nên rối rắm, mất thẩm mỹ mà còn gây ra những sai sót nghiêm trọng trong việc phân tích, báo cáo và ra quyết định. Vì vậy, việc remove duplicate (xóa bỏ trùng lặp) trong Excel là một kỹ năng thiết yếu mà mọi người dùng, từ người mới bắt đầu tới chuyên gia dữ liệu, đều cần nắm vững.
Bài viết dưới đây sẽ cung cấp cho bạn một hướng dẫn chi tiết, toàn diện, bao gồm:
- Giới thiệu về khái niệm duplicate trong Excel.
- Các phương pháp cơ bản và nhanh nhất để loại bỏ trùng lặp.
- Sử dụng tính năng “Remove Duplicates” và các tùy chọn nâng cao.
- Cách dùng công cụ Advanced Filter để lọc dữ liệu duy nhất.
- Sử dụng công thức mảng, hàm COUNTIF, SUMPRODUCT, và các hàm mới như UNIQUE (Excel 365/2026).
- Xử lý duplicate trong các trường hợp phức tạp: nhiều cột, dữ liệu có khoảng trắng, dữ liệu dạng ngày tháng, dữ liệu dạng văn bản có ký tự đặc biệt.
- Tự động hóa quá trình loại bỏ trùng lặp bằng VBA (Macro).
- Các lưu ý, lỗi thường gặp và cách khắc phục.
- Một số mẹo tối ưu hoá quy trình làm việc với dữ liệu lớn.
Sau khi đọc xong bài viết, bạn sẽ có thể xóa bỏ trùng lặp trong Excel một cách nhanh chóng, chính xác và linh hoạt, đồng thời biết cách bảo vệ dữ liệu gốc, tạo bản sao lưu, và thiết lập quy trình tự động để giảm thiểu công việc thủ công trong tương lai.
Có thể bạn quan tâm: Cách Nhập File Excel Vào Spss: Hướng Dẫn Chi Tiết Từ A Đến Z
1. Duplicate là gì? Tại sao cần loại bỏ?
1.1 Định nghĩa duplicate
Trong Excel, duplicate (bản ghi trùng lặp) đề cập đến các hàng (row) có cùng giá trị ở một hoặc nhiều cột mà người dùng quan tâm. Tùy vào mục đích phân tích, chúng ta có thể xem trùng lặp dựa trên:
- Một cột duy nhất: Ví dụ, cột “Mã khách hàng” chứa các giá trị lặp lại.
- Nhiều cột kết hợp: Ví dụ, một khách hàng có cùng “Tên”, “Ngày sinh” và “Số điện thoại”.
- Toàn bộ hàng: Tất cả các ô trong một hàng hoàn toàn giống nhau.
1.2 Hậu quả của dữ liệu trùng lặp
- Phân tích sai lệch: Khi tính tổng, trung bình, hoặc các chỉ số KPI, dữ liệu trùng lặp sẽ làm sai lệch kết quả.
- Tốn thời gian: Người dùng phải lọc, kiểm tra lại dữ liệu nhiều lần.
- Lãng phí tài nguyên: File Excel trở nên nặng, mở chậm, gây khó khăn khi chia sẻ.
- Rủi ro trong quyết định: Báo cáo dựa trên dữ liệu không sạch sẽ dẫn đến quyết định kinh doanh không chính xác.
Có thể bạn quan tâm: Cách Nhập Các Ô 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 để remove duplicate
2.1 Sử dụng tính năng Remove Duplicates (Excel 2007 trở lên)
- Chọn vùng dữ liệu: Bôi đen toàn bộ bảng hoặc chỉ chọn các cột cần kiểm tra.
- Vào Data → Remove Duplicates.
- Trong hộp thoại xuất hiện, chọn các cột mà bạn muốn xét trùng lặp. Nếu muốn xét toàn bộ hàng, để tất cả các cột được tích.
- Nhấn OK → Excel sẽ thông báo số bản ghi bị xóa và số bản ghi còn lại.
Lưu ý: Trước khi thực hiện, nên sao chép sheet hoặc tạo bản sao lưu (Ctrl+S) để tránh mất dữ liệu quan trọng.
2.2 Sử dụng Advanced Filter (Lọc nâng cao)
Advanced Filter cho phép lọc unique records only (chỉ các bản ghi duy nhất) và sao chép chúng sang một vị trí mới.
- Chuẩn bị tiêu đề cột (header) ở hàng đầu tiên.
- Chọn Data → Advanced.
- Trong hộp thoại:
- List range: vùng dữ liệu gốc.
- Criteria range: để trống nếu không có điều kiện phụ.
- Copy to: chọn ô đầu tiên nơi bạn muốn đặt dữ liệu duy nhất.
- Check “Unique records only”.
- Nhấn OK → Dữ liệu duy nhất sẽ được sao chép.
2.3 Dùng hàm UNIQUE (Excel 365, Excel 2026)
Nếu bạn đang sử dụng phiên bản Excel có hỗ trợ hàm động, UNIQUE là cách nhanh nhất:
=UNIQUE(A2:C1000)
- Công thức này sẽ trả về một mảng các hàng duy nhất dựa trên toàn bộ vùng A2:C1000.
- Nếu muốn xét duy nhất chỉ một cột, ví dụ cột A:
=UNIQUE(A2:A1000). - Có thể kết hợp với hàm SORT để sắp xếp:
=SORT(UNIQUE(A2:C1000)).
3. Xử lý duplicate trong các trường hợp phức tạp
3.1 Duplicate dựa trên nhiều cột (cách 1: Remove Duplicates)
Khi muốn xét trùng lặp dựa trên cột A và B, trong hộp thoại Remove Duplicates chỉ cần tích vào A và B, bỏ tích các cột khác. Excel sẽ chỉ xóa những hàng có cả A và B trùng nhau.
3.2 Duplicate dựa trên nhiều cột (cách 2: tạo cột hỗ trợ)
Nếu phiên bản Excel không có Remove Duplicates (ví dụ Excel 2003), bạn có thể tạo một cột hỗ trợ nối các giá trị:
=TRIM(A2)&"|"&TRIM(B2)&"|"&TRIM(C2)
Sau đó, dùng Remove Duplicates hoặc Conditional Formatting để đánh dấu các giá trị trùng nhau trong cột hỗ trợ, rồi lọc và xóa.

Có thể bạn quan tâm: Cách Phá Password Trong Excel: Hướng Dẫn Chi Tiết, Pháp Lý Và An Toàn
3.3 Xử lý khoảng trắng và ký tự không hiển thị
- Dùng hàm TRIM để loại bỏ khoảng trắng thừa.
- Dùng CLEAN để loại bỏ ký tự không in được.
- Kết hợp:
=TRIM(CLEAN(A2)).
Sau khi làm sạch, thực hiện lại các bước loại bỏ duplicate.
3.4 Duplicate trong cột ngày tháng
Ngày tháng trong Excel có thể được lưu dưới dạng serial number hoặc text. Đảm bảo:
- Định dạng cột là Date.
- Nếu có ngày dạng text, chuyển sang ngày bằng
=DATEVALUE(A2)hoặc=--A2.
Sau khi chuẩn hoá, dùng Remove Duplicates hoặc hàm UNIQUE.
3.5 Duplicate trong dữ liệu có ký tự đặc biệt (ví dụ dấu accent, ký tự Unicode)
- Dùng hàm SUBSTITUTE để loại bỏ ký tự không mong muốn:
=SUBSTITUTE(A2,"-",""). - Dùng UPPER/LOWER để chuẩn hoá chữ hoa/chữ thường:
=UPPER(A2).
Sau chuẩn hoá, thực hiện loại bỏ duplicate.
4. Sử dụng công thức để đánh dấu duplicate
4.1 Conditional Formatting (Định dạng có điều kiện)
- Chọn cột hoặc vùng dữ liệu.
- Vào Home → Conditional Formatting → New Rule.
- Chọn Use a formula to determine which cells to format.
- Nhập công thức:
=COUNTIF($A$2:$A$1000, A2)>1. - Đặt định dạng (màu nền, font) và OK.
Các ô có giá trị trùng lặp sẽ được tô màu, giúp bạn nhanh chóng nhìn thấy và quyết định hành động.
4.2 Công thức đánh dấu “Duplicate” trong cột phụ
=IF(COUNTIF($A$2:$A$1000, A2)>1, "Duplicate", "Unique")
Kéo công thức xuống toàn bộ cột, bạn sẽ có một cột phụ chỉ ra trạng thái của mỗi bản ghi.
5. Xóa duplicate bằng VBA (Macro)
Khi làm việc với hàng nghìn, hàng triệu bản ghi, việc lặp lại thao tác thủ công có thể tốn thời gian. Dưới đây là một macro đơn giản:
Sub RemoveDuplicates() Dim ws As Worksheet Set ws = ActiveSheet 'Giả sử dữ liệu bắt đầu từ A1 và có tiêu đề Dim lastRow As Long lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row With ws.Range("A1").CurrentRegion .RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlYes 'Thay 1,2,3 bằng số cột cần xét End With MsgBox "Duplicate đã được xóa! Tổng số hàng còn lại: " & ws.UsedRange.Rows.Count
End Sub
- Columns:=Array(1,2,3): xét trùng lặp dựa trên cột A, B, C.
- Header:=xlYes: dữ liệu có tiêu đề.
Bạn có thể mở Developer → Visual Basic, chèn một module, dán code trên và chạy macro.
5.1 Macro nâng cao: sao lưu dữ liệu trước khi xóa
Sub RemoveDupWithBackup() Dim ws As Worksheet, wsBackup As Worksheet Set ws = ActiveSheet 'Tạo bản sao lưu ws.Copy After:=Worksheets(Worksheets.Count) Set wsBackup = ActiveSheet wsBackup.Name = ws.Name & "_Backup_" & Format(Now, "yyyymmdd_hhmmss") 'Xóa duplicate trên sheet gốc Dim rng As Range Set rng = ws.UsedRange rng.RemoveDuplicates Columns:=Array(1, 2), Header:=xlYes MsgBox "Duplicate đã được xóa. Bản sao lưu được lưu tại sheet: " & wsBackup.Name
End Sub
Macro này tự động tạo một sheet sao lưu trước khi thực hiện xóa, giúp bạn yên tâm không mất dữ liệu.
6. Các lỗi thường gặp và cách khắc phục
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
| Không có tùy chọn “Remove Duplicates” | Phiên bản Excel quá cũ (Excel 2003) | Sử dụng Advanced Filter hoặc tạo cột hỗ trợ và dùng công thức. |
| Kết quả xóa không đúng, vẫn còn duplicate | Dữ liệu có khoảng trắng, ký tự không hiển thị, hoặc định dạng khác nhau | Dùng TRIM, CLEAN, UPPER/LOWER để chuẩn hoá trước khi xóa. |
| Sau khi xóa, công thức #REF! xuất hiện | Công thức tham chiếu tới các hàng đã bị xóa | Kiểm tra và điều chỉnh công thức, hoặc dùng Table để tự động mở rộng. |
| Macro chạy chậm | Dữ liệu quá lớn, không tắt tính năng ScreenUpdating | Thêm Application.ScreenUpdating = False và Application.Calculation = xlCalculationManual vào đầu macro, bật lại cuối cùng. |
| Duplicate không được phát hiện khi dùng hàm UNIQUE | Hàm UNIQUE phân biệt chữ hoa/chữ thường, hoặc có khoảng trắng | Dùng =UNIQUE(TRIM(UPPER(A2:A1000))). |
7. Mẹo tối ưu hoá quy trình làm việc với dữ liệu lớn
- Chuyển dữ liệu sang Table (
Ctrl+T). Table tự động mở rộng khi thêm dữ liệu mới và hỗ trợ công thức động. - Sử dụng Power Query (Get & Transform) để làm sạch dữ liệu:
- Import dữ liệu → Remove Duplicates trong Power Query → Load lại vào Excel.
- Power Query lưu lại các bước, cho phép refresh nhanh khi dữ liệu nguồn thay đổi.
- Tách dữ liệu thành các sheet nhỏ nếu file quá nặng, rồi dùng VBA hoặc Power Query để hợp nhất lại sau khi đã loại bỏ duplicate.
- Lưu file dưới dạng .xlsx (không .xls) để tận dụng tối đa khả năng xử lý 1,048,576 hàng và 16,384 cột.
- Sử dụng tính năng “Data Validation” để ngăn người dùng nhập dữ liệu trùng lặp ngay từ đầu:
- Chọn cột → Data → Data Validation → Custom → công thức
=COUNTIF($A$2:$A$1000, A2)=1.
8. Quy trình chuẩn “Remove Duplicate” trong một dự án thực tế
- Thu thập dữ liệu: Import từ CSV, database, hoặc copy-paste.
- Kiểm tra chất lượng:
- Dùng Conditional Formatting để hiển thị duplicate nhanh.
- Kiểm tra định dạng ngày tháng, số, văn bản.
- Chuẩn hoá dữ liệu:
- Áp dụng TRIM, CLEAN, UPPER/LOWER.
- Định dạng lại các cột ngày tháng, số.
- Sao lưu:
- Tạo bản sao sheet hoặc file backup.
- Loại bỏ duplicate:
- Sử dụng Remove Duplicates (nếu chỉ cần một lần).
- Hoặc Power Query để tạo quy trình tự động.
- Kiểm tra lại:
- Dùng hàm
=COUNTIFđể chắc chắn không còn duplicate. - Kiểm tra tổng số bản ghi so với dự kiến.
- Báo cáo:
- Tạo bảng tổng hợp, pivot table trên dữ liệu đã sạch.
- Lưu trữ:
- Đặt tên file có ngày, phiên bản, ví dụ:
Data_Clean_2024-05-10_v1.xlsx.
9. Tổng kết
Việc remove duplicate trong Excel không chỉ là một thao tác kỹ thuật đơn giản mà còn là một phần quan trọng của quy trình quản lý dữ liệu. Từ các phương pháp nhanh chóng như Remove Duplicates, Advanced Filter, UNIQUE, cho đến các giải pháp nâng cao như Power Query, VBA, và Conditional Formatting, mỗi công cụ đều có ưu điểm riêng phù hợp với các tình huống khác nhau.
Bạn nên:
- Luôn chuẩn hoá dữ liệu trước khi loại bỏ trùng lặp.
- Sao lưu dữ liệu gốc để tránh mất mát.
- Lựa chọn công cụ phù hợp dựa trên kích thước dữ liệu và phiên bản Excel.
- Tự động hoá quy trình bằng Power Query hoặc VBA khi làm việc với dữ liệu lặp lại thường xuyên.
Hy vọng qua bài viết này, bạn đã nắm vững toàn bộ quy trình và có thể áp dụng ngay vào công việc thực tế, nâng cao hiệu suất và độ tin cậy của các báo cáo Excel. Chúc bạn làm việc hiệu quả và luôn có những bảng tính sạch sẽ, chính xác!

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