Lọc Số Trùng Nhau Giữa 2 Cột Trong Excel

Giới thiệu

Trong công việc quản lý dữ liệu, xử lý số liệu thường xuyên gặp phải tình huống cần tìm ra các giá trị trùng lặp giữa hai cột dữ liệu khác nhau. Việc này không chỉ giúp bạn xác định được những mục tiêu quan trọng trong báo cáo, mà còn hỗ trợ quá trình phân tích, lọc và tổng hợp dữ liệu hiệu quả hơn. Excel, với những công cụ mạnh mẽ và tính linh hoạt cao, luôn là lựa chọn ưu tiên cho các thao tác như vậy.

Bài viết này sẽ hướng dẫn chi tiết cách lọc số trùng nhau giữa hai cột trong Excel bằng nhiều phương pháp khác nhau: dùng công thức, Conditional Formatting, hàm FILTER, Power Query, và thậm chí viết một macro VBA. Bạn sẽ tìm thấy bước thực hiện từng phương pháp, ví dụ minh họa, và lời khuyên để tối ưu hiệu suất làm việc.

1. Tại sao cần lọc trùng lặp giữa hai cột?

Trước khi đi vào chi tiết kỹ thuật, hãy xem xét lý do tại sao việc lọc trùng lặp giữa hai cột lại quan trọng trong nhiều lĩnh vực:

  1. Xác định dữ liệu chung: Khi bạn có hai danh sách khách hàng, mã sản phẩm, hoặc mã giao dịch, việc biết được những mục có mặt trong cả hai danh sách giúp xác định vùng chung.
  2. Kiểm tra tính toàn vẹn dữ liệu: Nếu dữ liệu trong hai cột phải khớp nhau (ví dụ: mã sai trong một cột), bạn có thể phát hiện ngay các sai sót.
  3. Tối ưu hoá báo cáo: Khi chuẩn bị báo cáo, bạn có thể loại bỏ những dòng không cần thiết, giảm độ dài bảng, giúp người đọc nhanh chóng nắm bắt thông tin quan trọng.
  4. Phân tích hành vi khách hàng: Trong marketing, biết khách hàng đã mua sản phẩm A và B cùng lúc giúp.Nil.

Việc lọc trùng lặp được thực hiện qua nhiều công cụ trong Excel, tùy thuộc vào quy mô dữ liệu và nhu cầu cụ thể.

2. Chuẩn bị dữ liệu mẫu

Trước khi áp dụng bất kỳ công thức nào, hãy tạo một bảng dữ liệu mẫu để thực hành. Dưới đây là ví dụ với hai cột A và B, mỗi cột chứa danh sách số nguyên (hoặc mã, chuỗi ký tự).

AB
1101101
2102103
3103104
4104101
5105105
6106110
7107107
8108108
9109111
10110112

Trong ví dụ này, các giá trị trùng lặp giữa hai cột là: 101, 103, 104, 105, 107, 108. Mục tiêu của chúng ta là lọc các giá trị này ra một danh sách riêng biệt hoặc đánh dấu chúng trong bảng gốc.

3. Phương pháp 1: Sử dụng công thức mảng với hàm IF, COUNTIF và FILTER

3.1 Công thức đơn giản: IF + COUNTIF

Nếu bạn chỉ muốn hiển thị một cột danh sách các giá trị trùng lặp, bạn có thể dùng công thức mảng:

=IF(COUNTIF($B$1:$B$10;A1)>0;A1; "")
  • COUNTIF($B$1:$B$10;A1) đếm số lần A1 xuất hiện trong cột B. Nếu >0, có trùng lặp.
  • IF(...;A1; "") trả về giá trị A1 nếu tồn tại trong B, ngược lại trả về chuỗi trống.

Bạn hãy nhập công thức vào ô C1 và kéo xuống cho hết các hàng trong cột A. Kết quả sẽ là danh sách các giá trị trùng lặp, nhưng còn có Associated blank cells.

3.2 Xóa giá trị trống: FILTER (Excel 365/Excel 2019engo)

Nếu bạn dùng phiên bản Excel hỗ trợ hàm FILTER, bạn có thể tạo danh sách trùng lặp mà không còn giá trị trống:

=FILTER(A1:A10; COUNTIF(B1:B10; A1:A10)>0)
  • COUNTIF(B1:B10; A1:A10) trả về mảng số lượng trùng lặp trong cột B cho từng giá trị trong A.
  • FILTER(A1:A10; condition) lọc ra những giá trị thoả điều kiện.

Kết quả sẽ là một danh sách mảng chứa chính xác các giá trị trùng lặp.

3.3 Lọc trùng lặp và loại bỏ giá trị bị trùng (unique)

Nếu bạn muốn hiển thị danh sách trùng lặp mà không bao gồm các giá trị bị trùng lặp nhiều hơn một lần trong bảng, bạn có thể maart:

=FILTER(A1:A10; (COUNTIF(B1:B10; பதA1:A10)>0)(COUNTIF(A1:A10; A1:A10)=1))
  • (COUNTIF(B1:B10; A1:A10)>0) kiểm tra trùng lặp.
  • (COUNTIF(A1:A10; A1:A10)=1) đảm bảo giá trị chỉ xuất hiện một lần trong cột A.

3.4 Lưu ý

  • Công thức FILTER chỉ có thể chạy trên các phiên bản Excel mới (Excel 365, Excel 2026). Nếu bạn đang dùng Excel 2026 hoặc cũigraph, công thức này sẽ không hoạt động.
  • Đối với dữ liệu lớn (thousands rows), COUNTIF có thể làm chậm Kol. Bạn có thể dùng XLOOKUP hoặc VLOOKUP để tăng tốc.

4. Phương pháp 2: Sử dụng Conditional Formatting để đánh dấu trùng lặp

4.1 Thiết lập Conditional Formatting

  1. Chọn cột A (A1:A10).
  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($B$1:$B$10; A1)>0
  1. Chọn định dạng (ví dụ: nền màu vàng).
  2. Nhấn OK.

Bây giờ, các ô trong cột A có giá trị trùng với ô trong cột B sẽ được tô màu.

4.2 Phương pháp ngược lại (đánh dấu trùng lặp trong cột B)

Tương tự, bạn có thể áp dụng công thức:

=COUNTIF($A$1:$A$10; B1)>0

4.3 Lời khuyên

  • Đảm bảo rằng vùng tham chiếu $B$1:$B$10 và $A$1:$A$10 là cố định (dùng dấu $) để tránh thay đổi khi kéo công thức.
  • Bạn có thể áp dụng Conditional Formatting cho cả hai cột đồng thời để nhận được một cái nhìn tổng quan.

5. Phương pháp 3: Sử dụng Power Query để lọc trùng lặp

Lọc Số Trùng Nhau Giữa 2 Cột Trong Excel
Lọc Số Trùng Nhau Giữa 2 Cột Trong Excel

5.1 Tải dữ liệu vào Power Query

  1. Chọn bảng dữ liệu (cột A và B).
  2. Vào Data > From Table/Range. Nếu bảng chưa là bảng, Excel sẽ hỏi bạn có muốn chuyển đổi thành bảng không; chọn OK.
  3. Power Query Editor sẽ mở ra.

5.2 Thêm cột tính toán

  • Vào menu Add Column > Custom Column.
  • Đặt tên InOtherColumn và nhập công thức:
if List.Contains(List.Transform(B, each _), A) then true else false
  • List.Contains kiểm tra xem giá trị A có nằm trong danh sách B không.

5.3 Lọc ra cột trùng lặp

  • Chọn cột InOtherColumn, nhấn Filter > True. Bây giờ bảng chỉ hiển thị những dòng có trùng lặp.
  • Nếu bạn muốn chỉ lấy cột A trùng lặp, chọn cột A, sau đó Remove Other Columns.

5.4 Lưu và tải dữ liệu trở lại Excel

  • Nhấn Close & Load. Power Query sẽ tạo một bảng mới trong Excel chứa kết quả.

5.5 Ưu điểm của Power Query

  • Đối với dữ liệu lớn (thousands rows), Power Query làm việc nhanh hơn.
  • Dễ dàng tái sử dụng quy trình khi dữ liệu cập nhật.
  • Hỗ trợ thao tác chuyển đổi dữ liệu phức tạp hơn, như loại bỏ bảng trùng lặp, chuyển đổi kiểu dữ liệu, v.v.

6. Phương pháp 4: Sử dụng hàm XLOOKUP để kiểm tra trùng lặp

6.1 Công thức XLOOKUP

=IF(ISNUMBER(XLOOKUP(A1; B ; B ; #N/A)); A1; "")
  • XLOOKUP(A1; B1:B10; B1:B10; #N/A) tìm giá trị A1 trong cột B. Nếu tìm thấy, trả về giá trị gốc; nếu không, trả về lỗi #N/A.
  • ISNUMBER() kiểm tra xem kết quả có phải là số hay không (tức là tìm thấy).
  • IF() hiển thị giá trị A1 nếu tìm thấy, ngược lại trống.

Khi kéo công thức xuống, bạn sẽ nhận được danh sách trùng lặp mà không có giá trị trống.

6.2 Lưu ý

  • XLOOKUP là hàm mới trong Excel 365/Excel 2026. Nếu bạn đang dùng Excel 2026 hay cũ, bạn cần dùng VLOOKUP hoặc INDEX/MATCH.

7. Phương pháp 5: Viết macro VBA để lọc trùng lặp

Nếu bạn thường xuyên phải lọc trùng lặp giữa hai cột, viết một macro đơn giản sẽ tiết kiệm thời gian. Dưới đây là ví dụ macro:

Sub FilterDuplicateBetweenColumns() Dim ws As Worksheet Dim listA As Range, listB As Range Dim cell As Range Dim outRow As Long Set ws = ActiveSheet Set listA = ws.Range("A1:A10") Set listB = ws.Range("B1:B10") ' Xóa nội dung cột C trước khiDIT ws.Range("C1:C10").ClearContents outRow = 1 For Each cell In listA If WorksheetFunction.CountIf(listB, cell.Value) > 0 Then ws.Cells(outRow, 3).Value = cell.Value outRow = outRow + 1 End If Next cell MsgBox "Đã lọc trùng lặp và lưu vào cột C!"
End Sub

7.1 Hướng dẫn sử dụng

  1. Nhấn Alt+F11 để mở VBA editor.
  2. Vào Insert > Module, dán đoạn mã trên vào.
  3. Trở lại Excel, nhấn Alt+F8, chọn FilterDuplicateBetweenColumns, nhấn Run.
  4. Macro sẽ tạo danh sách trùng lặp trong cột C.

7.2 Tùy chỉnh macro

  • Thay đổi phạm vi A1:A10 và B1:B10 theo dữ liệu thực tế.
  • Nếu bạn muốn làm việc trên nhiều sheet, bạn có thể thêm tham số sheetName vào macro.

8. So sánh các phương pháp

Phương phápĐộ phức tạpTốc độ xử lýTính linh hoạtYêu cầu phiên bản Excel
Công thức mảng (FILTER)Trung bìnhNhanh với dữ liệu nhỏKém365/2026
Conditional FormattingDễNhanhTốt cho hiển thịMọi phiên bản
Power QueryTrung bìnhRất nhanh với dữ liệu lớnRất linh hoạt2026+
XLOOKUPDễNhanhThích hợp cho dữ liệu dạng bảng365/2026
VBACaoRất nhanhRất linh hoạtMọi phiên bản

9. Thực hành: Ứng dụng trong báo cáo thực tế

Giả sử bạn đang làm việc cho một công ty bán lẻ. Bạn có hai bảng dữ liệu:

  1. Bảng A: Danh sách khách hàng đã mua sản phẩm A.
  2. Bảng B: Danh sách khách hàng đã mua sản phẩm B.

Bạn muốn tìm ra những khách hàng đã mua cả hai sản phẩm để gửi chương trình khuyến mãi đặc biệt. Dưới đây là cách bạn có thể thực hiện:

  1. Sử dụng công thức FILTER: Trích xuất danh sách khách hàng trùng lặp và xuất ra một bảng riêng.
  2. Conditional Formatting: Đánh dấu các hàng trong bảng A chứa khách hàng đã mua B.
  3. Power Query: Tạo một bảng “Kết hợp” chứa INNER JOIN giữa A và B.

Kết quả cuối cùng: Bạn có danh sách khách hàng duy nhất đã mua cả hai sản phẩm và có thể sử dụng dữ liệu này để gửi email khuyến mãi.

10. Tối ưu hóa hiệu suất khi làm việc với dữ liệu lớn

Khi số lượng hàng vượt lên hàng chục ngàn hoặc hàng trăm ngàn, việc dùng công thức COUNTIF hoặc tshuaj có thể làm Excel chậm. Dưới đây là một số mẹo:

  • Sử dụng Table: Đặt dữ liệu vào Insert > Table. Khi áp dụng công thức, vùng tham chiếu sẽ tự động mở rộng khi thêm dữ liệu mới.
  • Chọn phạm vi cụ thể: Tránh dùng A:A hoặc B:B trong công thức; thay vào đó, dùng A1:A1000, vì Excel sẽ tính toán toàn bộ cột.
  • Sử dụng Power Query: Đối với dữ liệu lớn, Power Query thường nhanh hơn rất nhiều.
  • Sử dụng hàm XLOOKUP hoặc MATCH: Thay vì COUNTIF, dùng XLOOKUP có thể tối ưu hơn khiajin.
  • Tắt tính năng tự động tính toán: Trong Formulas > Calculation Options > Manual. Sau khi hoàn thành công việc, chọn Recalculate để cập nhật.

11. Gợi ý nâng cao: Lọc trùng lặp giữa nhiều cột

Nếu bạn có hơn hai cột và muốn lọc trùng lặp giữa tất cả chúng, bạn có thể mở rộng công thức như sau:

=FILTER(A1:A10; COUNTIFS(B1:B10; A1:A10; C1:C10; A1:A10)>0)

Hoặc sử dụng Power Query để thực hiện INNER JOIN nhiều lần.

12. Kết luận

Lọc số trùng nhau giữa hai cột trong Excel là một kỹ năng thiết yếu, giúp bạn nhanh chóng xác định dữ liệu chung, kiểm tra tính toàn vẹn và nâng cao hiệu quả báo cáo. Bài viết đã trình bày đầy đủ các phương pháp: từ công thức đơn giản, Conditional Formatting, Power Query, hàm XLOOKUP, đến macro VBA. Bạn có thể chọn phương pháp phù hợp tùy theo:

  • Quy mô dữ liệu (nhỏ, vừaின்ற, lớn).
  • Phiên bản Excel mà bạn đang sử dụng.
  • Kỹ năng lập trình (macro).
  • Yêu cầu tính linh hoạt (tạo báo cáo, tự động hoá).

Bằng cách áp dụng những công cụ này, bạn sẽ tiết kiệm thời gian, tránh sai sót và nâng cao năng suất làm việc trong các dự án quản lý dữ liệu. Happy filtering!

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