Trong môi trường làm việc hiện đại, Excel luôn là công cụ không thể thiếu đối với các nhà quản lý, kế toán, nhân viên kinh doanh và hầu hết các chuyên gia trong mọi lĩnh vực. Một trong những vấn đề phổ biến mà người dùng Excel thường gặp phải là dữ liệu trùng lặp. Dữ liệu trùng lặp không chỉ làm giảm hiệu suất làm việc 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, nắm vững cách xóa duplicates trong Excel (xóa dữ liệu trùng lặp) là một kỹ năng quan trọng mà mọi người dùng Excel nên biế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 có sẵn trong Excel cho tới các kỹ thuật nâng cao sử dụng Power Query, VBA và công cụ tùy chỉnh. Mục tiêu là giúp bạn không chỉ xóa được dữ liệu trùng lặp một cách nhanh chóng mà còn hiểu rõ nguyên lý, tránh mất mát dữ liệu quan trọng và tối ưu quy trình làm việc.
Có thể bạn quan tâm: Phân Tích Dữ Liệu Trong Excel: Thống Kê Mô Tả (descriptive Statistics) Toàn Diện
Mục Lục
- Hiểu Rõ Về Dữ Liệu Trùng Lặp Trong Excel
- Các Phương Pháp Cơ Bản Xóa Trùng Lặp
- 2.1 Sử dụng tính năng Remove Duplicates
- 2.2 Sử dụng Conditional Formatting để đánh dấu
- 2.3 Sử dụng Advanced Filter
- Xóa Trùng Lặp Bằng Công Thức (Formula)
- 3.1 Hàm COUNTIF / COUNTIFS
- 3.2 Hàm UNIQUE (Excel 365/2026)
- Sử Dụng Power Query Để Xử Lý Dữ Liệu Lớn
- Tự Động Hóa Với VBA: Macro Xóa Dữ Liệu Trùng Lặp
- Kịch Bản Thực Tế: Xóa Trùng Lặp Trong Các Tình Huống Thực Tế
- 6.1 Danh sách khách hàng
- 6.2 Bảng giao dịch tài chính
- 6.3 Dữ liệu nhập khẩu từ hệ thống ERP
- Lưu Ý Khi Xóa Trùng Lặp: Bảo Vệ Dữ Liệu Quan Trọng
- FAQ – Những Câu Hỏi Thường Gặp Khi Xóa Duplicates Trong Excel
- Kết Luận Và Hướng Phát Triển Tiếp Theo
Có thể bạn quan tâm: Excel Cơ Bản Gồm Những Gì? – Hướng Dẫn Toàn Diện Từ A Đến Z
1. Hiểu Rõ Về Dữ Liệu Trùng Lặp Trong Excel
Trước khi đi vào cách xóa duplicates trong Excel, chúng ta cần xác định rõ “trùng lặp” trong ngữ cảnh của mình là gì.
| Loại Trùng Lặp | Mô tả | Ví dụ |
|---|---|---|
| Trùng lặp hoàn toàn | Các hàng (row) có toàn bộ giá trị ở mỗi cột đều giống nhau. | Hàng 2 và hàng 5: John | 123 Main St | 555-1234 |
| Trùng lặp một phần | Chỉ một hoặc một vài cột có giá trị giống nhau, các cột còn lại khác nhau. | Cột “Mã khách hàng” trùng, nhưng tên và địa chỉ khác nhau. |
| Trùng lặp ẩn | Dữ liệu trùng lặp nhưng có khoảng trắng, ký tự đặc biệt, hoặc định dạng khác nhau khiến Excel không nhận ra. | John và John (có khoảng trắng đầu). |
Hiểu được loại trùng lặp sẽ giúp bạn chọn đúng công cụ và chiến lược xóa. Nếu chỉ xóa “trùng lặp hoàn toàn”, tính năng Remove Duplicates trong Excel là đủ. Nếu cần kiểm soát chi tiết hơn (ví dụ giữ lại bản ghi mới nhất), bạn sẽ cần công thức hoặc macro.
Có thể bạn quan tâm: Excel Có In Được Không? – Hướng Dẫn Chi Tiết Từ A Tới Z Về Việc In Ấn Tài Liệu Từ Microsoft Excel
2. Các Phương Pháp Cơ Bản Xóa Trùng Lặp
2.1 Sử dụng tính năng Remove Duplicates
Đây là cách nhanh nhất và phổ biến nhất.
Bước 1: Chọn vùng dữ liệu cần xử lý (có thể là toàn bộ bảng hoặc một phần).
Bước 2: Vào Data → Remove Duplicates.
Bước 3: Hộp thoại sẽ hiện ra danh sách các cột. Đánh dấu các cột mà bạn muốn Excel xem xét để xác định trùng lặp.
– Nếu muốn xóa các hàng trùng lặp hoàn toàn, để tất cả các cột được chọn.
– Nếu chỉ muốn dựa trên một hoặc vài cột (ví dụ “Mã khách hàng”), chỉ chọn những cột đó.
Bước 4: 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.
Mẹo: Trước khi thực hiện, luôn sao lưu dữ liệu hoặc tạo một bản sao của sheet để tránh mất mát không mong muốn.
Ví dụ thực tế
Giả sử bạn có bảng khách hàng:
| A (Mã KH) | B (Tên) | C (Email) |
|---|---|---|
| 001 | Nguyễn Văn A | a@example.com |
| 002 | Trần Thị B | b@example.com |
| 001 | Nguyễn Văn A | a@example.com |
| 003 | Lê C | c@example.com |
| 001 | Nguyễn Văn A | a@example.com |
- Chọn toàn bộ vùng A:C → Remove Duplicates → Chọn All columns → OK → Excel sẽ giữ lại 3 bản ghi duy nhất.
2.2 Sử dụng Conditional Formatting để đánh dấu
Nếu bạn muốn đánh dấu các dòng trùng lặp trước khi quyết định xóa, hãy dùng Conditional Formatting.
Bước 1: Chọn vùng dữ liệu.
Bước 2: Vào Home → Conditional Formatting → New Rule → Use a formula to determine which cells to format.
Bước 3: Nhập công thức (giả sử kiểm tra cột A):
=COUNTIF($A:$A, $A1)>1
Bước 4: Chọn định dạng (màu nền, font) và OK.
Các ô trùng lặp sẽ được tô màu, giúp bạn dễ dàng xem xét và xóa thủ công nếu cần.
2.3 Sử dụng Advanced Filter (Lọc Nâng Cao)
Advanced Filter cho phép bạn lọc unique records (bản ghi duy nhất) ra một vị trí mới.
Bước 1: Chọn vùng dữ liệu, vào Data → Advanced.
Bước 2: Chọn Copy to another location, tick Unique records only, chỉ định ô đích.
Bước 3: Nhấn OK. Excel sẽ sao chép các bản ghi duy nhất sang vị trí mới, giữ nguyên dữ liệu gốc.
Phương pháp này hữu ích khi bạn muốn giữ lại bản gốc và tạo một bản sao sạch.
3. Xóa Trùng Lặp Bằng Công Thức (Formula)
Khi dữ liệu phức tạp hoặc cần đánh dấu linh hoạt, công thức là công cụ mạnh mẽ.
3.1 Hàm COUNTIF / COUNTIFS
COUNTIF đếm số lần xuất hiện của một giá trị trong một cột.
=IF(COUNTIF($A$2:$A2, A2)>1, "Duplicate", "Unique")
- Công thức này đặt trong cột phụ (ví dụ cột D). Khi sao chép xuống, nó sẽ trả về “Duplicate” cho các giá trị đã xuất hiện trước đó.
COUNTIFS cho phép kiểm tra nhiều tiêu chí (nhiều cột).
=IF(COUNTIFS($A$2:$A2, A2, $B$2:$B2, B2)>1, "Duplicate", "Unique")
- Đánh dấu trùng lặp dựa trên cả hai cột A và B.
Sau khi đánh dấu, bạn có thể lọc “Duplicate” và xóa các hàng.
3.2 Hàm UNIQUE (Excel 365/2026)
Phiên bản Excel mới hỗ trợ hàm UNIQUE trả về danh sách các giá trị duy nhất.
=UNIQUE(A2:C100)
- Hàm này sẽ sinh ra một mảng các hàng duy nhất, tự động loại bỏ trùng lặp. Nếu muốn giữ lại bản ghi gốc, bạn có thể sao chép kết quả và dán dưới dạng giá trị.
Lưu ý: UNIQUE hoạt động trên cả hàng. Nếu muốn loại bỏ trùng lặp dựa trên một cột duy nhất, chỉ cần truyền cột đó vào hàm.
4. Sử Dụng Power Query Để Xử Lý Dữ Liệu Lớn
Power Query (Get & Transform) là công cụ mạnh mẽ cho việc làm sạch dữ liệu, đặc biệt khi dữ liệu lên tới hàng chục, hàng trăm nghìn dòng.
4.1 Bước Khởi Tạo Power Query
- Select dữ liệu → Data → From Table/Range (hoặc Get Data → From File).
- Power Query Editor sẽ mở ra.
4.2 Loại Bỏ Trùng Lặp Trong Power Query
- Chọn Home → Remove Rows → Remove Duplicates.
- Bạn có thể chọn các cột cần xét để xác định trùng lặp (giống như trong Excel).
- Khi hoàn tất, nhấn Close & Load để trả về Excel.
4.3 Lợi Ích Khi Dùng Power Query

Có thể bạn quan tâm: Excel Date Picker Trong Ô: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
| Ưu điểm | Mô tả |
|---|---|
| Tự động cập nhật | Khi dữ liệu nguồn thay đổi, chỉ cần refresh để cập nhật kết quả sạch. |
| Xử lý dữ liệu lớn | Hiệu suất tốt hơn so với công thức truyền thống. |
| Ghi lại bước | Mỗi thao tác được ghi lại dưới dạng M code, dễ dàng tái sử dụng. |
| Kết hợp nhiều nguồn | Có thể hợp nhất dữ liệu từ nhiều file, cơ sở dữ liệu, web… |
5. Tự Động Hóa Với VBA: Macro Xóa Dữ Liệu Trùng Lặp
Khi bạn phải thực hiện cùng một quy trình xóa trùng lặp nhiều lần (hàng ngày, hàng tuần), viết một macro VBA sẽ tiết kiệm thời gian.
5.1 Macro Cơ Bản
Sub RemoveDuplicates() Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Sheet1") ' Thay tên sheet tương ứng With ws Dim lastRow As Long lastRow = .Cells(.Rows.Count, "A").End(xlUp).Row ' Giả sử dữ liệu bắt đầu ở cột A .Range("A1:C" & lastRow).RemoveDuplicates Columns:=Array(1, 2, 3), Header:=xlYes MsgBox "Đã xóa các bản ghi trùng lặp!", vbInformation End With
End Sub
Columns:=Array(1,2,3)chỉ định cột A, B, C là tiêu chí kiểm tra trùng lặp.Header:=xlYesnếu có tiêu đề.
5.2 Macro Nâng Cao: Giữ Bản Ghi Mới Nhất
Giả sử có cột “Ngày cập nhật” (cột D) và muốn giữ lại bản ghi mới nhất khi trùng lặp.
Sub RemoveDupKeepLatest() Dim ws As Worksheet, rng As Range, dict As Object Set ws = ThisWorkbook.Sheets("Data") Set dict = CreateObject("Scripting.Dictionary") Dim lastRow As Long, i As Long, key As String, curDate As Date lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row For i = 2 To lastRow key = ws.Cells(i, "A").Value & "|" & ws.Cells(i, "B").Value ' tạo key dựa trên cột A và B curDate = ws.Cells(i, "D").Value If Not dict.Exists(key) Then dict.Add key, i ' lưu vị trí dòng đầu tiên Else If curDate > ws.Cells(dict(key), "D").Value Then ' Nếu ngày mới hơn, xóa dòng cũ ws.Rows(dict(key)).Delete dict(key) = i - 1 ' cập nhật vị trí mới (do đã xóa 1 dòng) Else ws.Rows(i).Delete i = i - 1 End If End If Next i MsgBox "Hoàn thành! Đã giữ lại bản ghi mới nhất cho mỗi khóa.", vbInformation
End Sub
Giải thích:
- Sử dụng
Dictionaryđể lưu trữ khóa (key) dựa trên các cột xác định. - Khi gặp trùng lặp, so sánh ngày và giữ lại bản ghi mới hơn.
Bạn có thể gán macro này vào nút trên sheet để người dùng không cần mở VBA Editor.
6. Kịch Bản Thực Tế: Xóa Trùng Lặp Trong Các Tình Huống Thực Tế
6.1 Danh sách khách hàng
Yêu cầu: Loại bỏ các khách hàng trùng mã, nhưng giữ lại thông tin mới nhất (cột “Ngày cập nhật”).
Giải pháp:
– Dùng Power Query: Group By Mã khách hàng, lấy Max ngày cập nhật và các trường khác (hoặc dùng Keep Top Rows).
– Hoặc dùng VBA như trong phần 5.2.
6.2 Bảng giao dịch tài chính
Yêu cầu: Kiểm tra giao dịch trùng lặp (cùng ngày, cùng số tiền, cùng mô tả) để tránh double-count.
Giải pháp:
– Thêm cột “Key” bằng công thức:
=TEXT(A2,"yyyymmdd") & "|" & B2 & "|" & C2 ' A: ngày, B: số tiền, C: mô tả
- Dùng Remove Duplicates dựa trên cột “Key”.
- Hoặc dùng Power Query →
Group Byđể tính tổng và kiểm tra số lượng bản ghi.
6.3 Dữ liệu nhập khẩu từ hệ thống ERP
Yêu cầu: Dữ liệu nhập vào mỗi ngày có thể chứa khoảng trắng thừa, ký tự đặc biệt. Cần “làm sạch” trước khi xóa trùng lặp.
Giải pháp:
- Làm sạch: Sử dụng hàm
TRIM,CLEAN,SUBSTITUTEtrong một cột phụ.
=TRIM(CLEAN(SUBSTITUTE(A2,CHAR(160)," ")))
- Xóa trùng lặp: Sau khi đã làm sạch, copy‑paste giá trị trở lại cột gốc, rồi dùng Remove Duplicates.
7. Lưu Ý Khi Xóa Trùng Lặp: Bảo Vệ Dữ Liệu Quan Trọng
| Lưu ý | Mô tả | Cách phòng tránh |
|---|---|---|
| Sao lưu dữ liệu | Trước khi thực hiện bất kỳ thao tác xóa nào, luôn tạo bản sao. | Dùng Copy → Paste as Values sang sheet mới hoặc lưu file dưới tên khác. |
| Kiểm tra tiêu chí trùng lặp | Nếu chỉ chọn một số cột, dữ liệu còn lại có thể gây hiểu lầm. | Xem lại yêu cầu kinh doanh, xác định cột khóa chính. |
| Dữ liệu phụ thuộc | Các công thức, pivot tables, biểu đồ có thể tham chiếu tới các hàng bị xóa. | Kiểm tra Name Manager và Data Validation sau khi xóa. |
| Trùng lặp ẩn | Khoảng trắng, ký tự không hiển thị có thể gây “không trùng”. | Dùng hàm TRIM, CLEAN hoặc Power Query “Remove Duplicates” sau khi làm sạch. |
| Định dạng ngày | Ngày được lưu dưới dạng text có thể không nhận ra là trùng. | Đảm bảo cột ngày được định dạng đúng (Date). |
8. FAQ – Những Câu Hỏi Thường Gặp Khi Xóa Duplicates Trong Excel
Q1: Remove Duplicates không xóa được dữ liệu, tại sao?
A: Kiểm tra xem bạn đã chọn đúng cột làm tiêu chí chưa, và dữ liệu có chứa khoảng trắng ẩn không. Dùng TRIM hoặc CLEAN để chuẩn hóa.
Q2: Tôi muốn giữ lại bản ghi cũ nhất chứ không phải mới nhất?
A: Trong Power Query, sử dụng Group By → Min ngày; trong VBA, thay > bằng < trong so sánh ngày.
Q3: Hàm UNIQUE có hoạt động trên Excel 2026 không?
A: Không, UNIQUE chỉ có trong Excel 365 và Excel 2026 trở lên. Với các phiên bản cũ, sử dụng Advanced Filter hoặc Power Query.
Q4: Khi xóa trùng lặp, làm sao để giữ lại một cột “ID” duy nhất cho mỗi bản ghi?
A: Thêm cột “ID” trước khi xóa, sau đó dùng Remove Duplicates chỉ dựa trên các cột khác (bỏ qua cột ID). Hoặc trong Power Query, tạo cột Index trước khi nhóm.
Q5: Tôi có thể chạy macro tự động mỗi khi mở file không?
A: Có. Đặt macro vào Workbook_Open() trong ThisWorkbook để tự động thực hiện khi file được mở.
9. Kết Luận Và Hướng Phát Triển Tiếp Theo
Việc xóa duplicates trong Excel không chỉ là một thao tác “dọn dẹp” mà còn là bước quan trọng trong quy trình quản lý dữ liệu, giúp nâng cao độ chính xác và hiệu quả phân tích. Từ các công cụ nội tại như Remove Duplicates, Conditional Formatting, Advanced Filter, tới các phương pháp nâng cao như Power Query và VBA, bạn có thể lựa chọn giải pháp phù hợp tùy vào khối lượng dữ liệu, độ phức tạp và yêu cầu tự động hoá.
Những bước tiếp theo bạn nên thực hiện:
- Xây dựng quy trình chuẩn: Đặt quy tắc rõ ràng về cách xác định trùng lặp (cột nào là khóa).
- Áp dụng Power Query cho các nguồn dữ liệu lớn, tạo query tái sử dụng cho các file định kỳ.
- Lập macro cho các công việc lặp lại, lưu trong
Personal Macro Workbookđể dùng chung cho mọi file. - Đào tạo người dùng: Chia sẻ kiến thức về cách nhận diện dữ liệu trùng lặp và cách dùng công cụ cơ bản.
- Theo dõi và audit: Thêm cột “Ngày làm sạch” hoặc “Người xử lý” để ghi lại lịch sử xóa trùng lặp, giúp kiểm soát chất lượng dữ liệu.
Cuối cùng, hãy nhớ rằng dữ liệu sạch là nền tảng cho mọi quyết định kinh doanh thông minh. Khi bạn đã nắm vững cách xóa duplicates trong Excel, bạn sẽ tự tin hơn trong việc xử lý, phân tích và trình bày dữ liệu, đồng thời giảm thiểu rủi ro sai sót. Hãy áp dụng những kiến thức trên ngay trong công việc hàng ngày và chia sẻ với đồng nghiệp – vì một môi trường làm việc hiệu quả hơn luôn bắt đầu từ dữ liệu sạch.

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