Cách Remove Duplicate Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao

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:

  1. Giới thiệu về khái niệm duplicate trong Excel.
  2. Các phương pháp cơ bản và nhanh nhất để loại bỏ trùng lặp.
  3. Sử dụng tính năng “Remove Duplicates” và các tùy chọn nâng cao.
  4. Cách dùng công cụ Advanced Filter để lọc dữ liệu duy nhất.
  5. 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).
  6. 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.
  7. Tự động hóa quá trình loại bỏ trùng lặp bằng VBA (Macro).
  8. Các lưu ý, lỗi thường gặp và cách khắc phục.
  9. 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.

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.

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)

  1. 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.
  2. Vào Data → Remove Duplicates.
  3. 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.
  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.

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.

  1. Chuẩn bị tiêu đề cột (header) ở hàng đầu tiên.
  2. Chọn Data → Advanced.
  3. Trong hộp thoại:
  4. List range: vùng dữ liệu gốc.
  5. Criteria range: để trống nếu không có điều kiện phụ.
  6. Copy to: chọn ô đầu tiên nơi bạn muốn đặt dữ liệu duy nhất.
  7. Check “Unique records only”.
  8. 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ách Remove Duplicate Trong Excel
Cách Remove Duplicate Trong Excel

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)

  1. Chọn cột hoặc vùng dữ liệu.
  2. Vào Home → Conditional Formatting → New Rule.
  3. Chọn Use a formula to determine which cells to format.
  4. Nhập công thức: =COUNTIF($A$2:$A$1000, A2)>1.
  5. Đặ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ỗiNguyên nhânCá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 duplicateDữ liệu có khoảng trắng, ký tự không hiển thị, hoặc định dạng khác nhauDù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ệnCông thức tham chiếu tới các hàng đã bị xóaKiể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ậmDữ liệu quá lớn, không tắt tính năng ScreenUpdatingThê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 UNIQUEHàm UNIQUE phân biệt chữ hoa/chữ thường, hoặc có khoảng trắngDù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

  1. 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.
  2. Sử dụng Power Query (Get & Transform) để làm sạch dữ liệu:
  3. Import dữ liệu → Remove Duplicates trong Power Query → Load lại vào Excel.
  4. Power Query lưu lại các bước, cho phép refresh nhanh khi dữ liệu nguồn thay đổi.
  5. 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.
  6. 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.
  7. 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:
  8. 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ế

  1. Thu thập dữ liệu: Import từ CSV, database, hoặc copy-paste.
  2. Kiểm tra chất lượng:
  3. Dùng Conditional Formatting để hiển thị duplicate nhanh.
  4. Kiểm tra định dạng ngày tháng, số, văn bản.
  5. Chuẩn hoá dữ liệu:
  6. Áp dụng TRIM, CLEAN, UPPER/LOWER.
  7. Định dạng lại các cột ngày tháng, số.
  8. Sao lưu:
  9. Tạo bản sao sheet hoặc file backup.
  10. Loại bỏ duplicate:
  11. Sử dụng Remove Duplicates (nếu chỉ cần một lần).
  12. Hoặc Power Query để tạo quy trình tự động.
  13. Kiểm tra lại:
  14. Dùng hàm =COUNTIF để chắc chắn không còn duplicate.
  15. Kiểm tra tổng số bản ghi so với dự kiến.
  16. Báo cáo:
  17. Tạo bảng tổng hợp, pivot table trên dữ liệu đã sạch.
  18. Lưu trữ:
  19. Đặ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!

⚠️
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