Có thể bạn quan tâm: Cách Nhập Dữ Liệu Từ Excel Vào Phần Mềm Misa: Hướng Dẫn Chi Tiết Và Lưu Ý
Giới thiệu chung
Trong công việc quản lý dữ liệu, bạn thường phải so sánh hai bộ dữ liệu để tìm ra những dòng, cột hoặc giá trị khác nhau. Dù dữ liệu được lưu trữ trong cùng một bảng Excel hay hai file riêng biệt, việc xác định “sự khác biệt” một cách chính xác và nhanh chóng luôn là một thách thức. Dưới đây, chúng ta sẽ đi qua nhiều phương pháp, từ các công thức đơn giản, Conditional Formatting, Power Query, cho tới việc viết một đoạn macro VBA. Mỗi phương pháp có ưu điểm và hạn chế riêng, vì vậy bạn sẽ có thể chọn công cụ phù hợp với quy mô và đặc tính dữ liệu của mình.
Có thể bạn quan tâm: Cách Lập Bảng Tính Giá Thành Sản Phẩm Trên Excel
1. So sánh dữ liệu bằng Conditional Formatting
1.1 Mục tiêu
Hiển thị ngay lập tức những ô có giá trị khác nhau giữa hai bảng.
1.2 Cách thực hiện
- Chọn vùng dữ liệu đầu tiên (ví dụ A1:D100).
- Vào Home → Conditional Formatting → New Rule → Use a formula to determine which cells to format.
- Nhập công thức:
excel =A1<>INDIRECT("Sheet2!A1") - Giả sử
Sheet2là bảng thứ hai. - Đảm bảo vùng tham chiếu đúng (đừng quên dấu
$nếu cần cố định cột/góc). - Chọn màu nền hoặc kiểu chữ để làm nổi bật.
- Nhấn OK. Excel sẽ tự động tô màu tất cả các ô khác nhau giữa hai bảng.
1.3 Lưu ý
- Phương pháp này chỉ áp dụng cho cùng một file Excel và đối chiếu theo tọa độ. Nếu bảng thứ hai có sắp xếp lại dòng/ cột, công thức cần được điều chỉnh.
- Khi dữ liệu lớn, Conditional Formatting có thể làm giảm tốc độ tính toán.
Có thể bạn quan tâm: Cách Làm Sổ Chi Tiết Các Tài Khoản Trên Excel: Hướng Dẫn Từng Bước Và Mẹo Tối Ưu
2. Sử dụng công แกรม Excel chuẩn
2.1 Công thức VLOOKUP + IFERROR
- Mục tiêu: Kiểm tra sự tồn tại của một giá trị trong bảng thứ hai và so sánh nội dung.
Ví dụ:
=IFERROR(IF(VLOOKUP(A2, Sheet2!A:D, 2, FALSE)=B2, "Đồng nhất", "Khác"), "Không có")
- Giải thích:
VLOOKUP(A2, Sheet2!A:D, 2, FALSE)tìm giá trị trong cột A củaSheet2và trả về giá trị tương ứng ở cột B.- So sánh với giá trị hiện tại
B2. - Nếu không tìm thấy,
IFERRORtrả về “Không có”.
Tùy chỉnh:
- Thay
VLOOKUPbằngXLOOKUP(Excel 365) để linh hoạt hơn:excel =IFERROR(IF(XLOOKUP(A2, Sheet2!A:A, Sheet2!B:B, "")=B2, "Đồng nhất", "Khác"), "Không có")
2.2 Công thức COUNTIF
- Mục tiêu: Đếm số lần xuất hiện của một giá trị trong bảng 세번째 và so sánh.
=IF(COUNTIF(Sheet2!A:A, A2)>0, "Có", "Không")
2.3 Công thức EXACT
- Mục tiêu: So sánh chính xác (kích thước chữ hoa/ thường).
=IF(EXACT(A2, INDEX(Sheet2!A:A, MATCH(A2, Sheet2!A:A, 0))), "Đúng", "Sai")
3. Sử dụng công cụ Power Query
3.1 Giải pháp tổng quát
Power Query (Get & Transform) cung cấp một nền tảng mạnh mẽ để so sánh, hợp nhất, và tìm kiếm sự khác biệt giữa hai bảng dữ liệu, ngay cả khi symbols như file Excel, CSV, hoặc nguồn dữ liệu khác nhau.
3.2 Các bước thực לפחות
| Bước | Thao tác | Mô tả |
|---|---|---|
| 1 | Nhập dữ liệu | Vào Data → Get Data → From Workbook và chọn file Excel chứa bảng thứ nhất. |
| 2 | Nhập bảng thứ hai | Lặp lại bước 1 với file hoặc sheet thứ hai. |
| 3 | Thực hiện hợp nhất | Trong Power Query Editor, chọn một bảng, sau đó Home → Merge Queries. |
| 4 | Chọn cột khóa (key column) | Chọn cột có giá trị duy nhất (ID, Email,…) trong cả hai bảng. |
| 5 | Loại bỏ cột không cần | Kéo cột cần so sánh, sau đó click Remove Other Columns. |
| 6 | Xác định sự khác biệt | Thêm cột Custom: = if Column1 <> Column2 then "Khác" else "Đồng". |
| 7 | Lưu kết quả | Click Close & Load vào sheet mới. |
3.3 Ưu điểm
- Không cần viết công thức.
- Dễ dàng xử lý dữ liệu lớn, tự động cập nhật khi nguồn thay đổi.
- Có thể kết hợp với các bước Data Cleaning (loại bỏ trống, chuẩn hóa kiểu dữ liệu).
3.4 Hạn chế
- Cần phải quen với giao diện Power Query.
- Đối với người mới, việc thiết lập nguồn dữ liệu có thể mất thời gian.
4. Sử dụng Pivot Table + Calculated Field
4.1 Mục tiêu

Có thể bạn quan tâm: Cách Sử Dụng Hàm If Trong Excel Để Xếp Loại
Sử dụng Pivot Table để tổng hợp và so sánh dữ liệu.
4.2 Bước thực hiện
- Tạo Pivot Table từ bảng thứ nhất.
- Thêm cột ID vào Rows, Số lượng vào Values.
- Đặt Pivot Table thứ hai trong cùng một workbook.
- Tạo Calculated Field:
excel Difference = Sum1 - Sum2 - Lọc
Difference <> 0để chỉ hiển thị dòng có sự khác biệt.
4.3 Lợi ích
- Dễ dàng tính toán tóm tắt, tổng hợp.
- Thích hợp cho dữ liệu có tính tổng hợp (tổng, trung bình).
4.4 Hạn chế
- Không phù hợp với so sánh từng dòng chi tiết.
- Cần có dữ liệu định dạng đồng nhất.
5. So sánh bằng VBA Macro
5.1 Khi nào dùng VBA
- Dữ liệu quá lớn, công thức truyền thống làm chậm.
- Cần tự động hoá quá trình so sánh và ghi nhận kết quả vào file log.
- Cần thực hiện quy trình phức tạp hơn (ví dụ:ە xóa dòng nào, ghi nhận vào log, gửi email).
5.2 Mẫu macro
Sub CompareTables() Dim ws1 As Worksheet, ws2 As Worksheet Dim rng1 As Range, rng2 As Range Dim cell As Range, matchCell As Range Dim outputRow As Long Set ws1 = ThisWorkbook.Sheets("Sheet1") Set ws2 = ThisWorkbook.Sheets("Sheet2") Set rng1 = ws1.Range("A2:D" & ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row) Set rng2 = ws2.Range("A2:D" & ws2.Cells(ws2.Rows.Count, "A").End(xlUp).Row) outputRow = 2 With ThisWorkbook.Sheets("Report") .Cells.Clear .Range("A1:D1").Value = Array("ID", "Column1", "Column2", "Result") For Each cell In rng1.Columns(1).Cells Set matchCell = rng2.Columns(1).Find(cell.Value, LookIn:=xlValues, LookAt:=xlWhole) If Not matchCell Is Nothing Then If cell.Offset(0, 1).Value <> matchCell.Offset(0, 1).Value Or _ cell.Offset(0, 2).Value <> matchCell.Offset(0, 2).Value Then .Cells(outputRow, 1).Value = cell.Value .Cells(outputRow, 2).Value = cell.Offset(0, 1).Value .Cells(outputRow, 3).Value = cell.Offset(0, 2).Value .Cells(outputRow, 4).Value = "Khác nhau" outputRow = outputRow + 1 End If Else .Cells(outputRow, 1).Value = cell.Value .Cells(outputRow, 4).Value = "Không có trong Sheet2" outputRow = outputRow + 1 End If Next End With
End Sub
5.3 Giải thích
- Find: Tìm giá trị theo ID.
- Offset: Truy cập các cột khác.
- Report: Ghi lại các dòng có khác biệt, hoặc không tồn tại trong bảng thứ hai.
- Macro này có thể được chạy tự động khi file mở hoặc khi cần.
5.4 Lưu ý
- Macro Tian bị hạn chế bởi Trust Center Settings.
- Phải lưu file dưới định dạng
.xlsm. - Cần kiểm tra kỹ lỗi trong quá trình chạy (đối chiếu các dòng trống, kiểu dữ liệu khác nhau).
6. Kết hợp nhiều phương pháp
Đôi khi, một phương pháp duy nhất không đủ. Ví dụ: bạn muốn tìm giá trị khác nhau và đồng thời loại bỏ dữ liệu trùng lặp.
6.1 Quy trình
- Sử dụng Power Query để merge hai bảng, tạo cột “Status” (מק).
- Dùng Conditional Formatting để tô màu những dòng “Khác”.
- Nếu cần, chạy VBA để ghi lại danh sách vào file log غسل.
6.2 Lợi ích
- Tự động hóa: Khi dữ liệu cập nhật, Power Query tự refresh.
- Hiển thị trực quan: Conditional Formatting giúp người dùng nhanh chóng nhận diện.
- Ghi nhận chi tiết: Macro ghi lại danh sách thay đổi, phục vụ audit.
7. Những lưu ý khi so sánh dữ liệu
| Nhiệm vụ | Lưu ý |
|---|---|
| Dữ liệu có trùng lặp | Đảm bảo chỉ so sánh những dòng có ID duy nhất. |
| Kiểu dữ liệu khác nhau | Chuẩn hóa dữ liệu (Chuyển đổi ngày tháng, số thập phân, loại chữ hoa/ thường). |
| Cột thay đổi vị trí | Sử dụng công thức INDEX + MATCH hoặc XLOOKUP, tránh phụ thuộc vào vị trí cột. |
| Dữ liệu lớn (>10k dòng) | Sử dụng Power Query hoặc VBA, tránh công thức array phức tạp trong ô. |
| Tự động cập nhật | Đặt công thức vào một sheet “Results” và sử dụng =IFERROR(VLOOKUP(...), "") để tự động cập nhật khi dữ liệu thay đổi. |
8. Tổng kết
- Conditional Formatting: Dễ dùng, nhanh nhạy nhưng không phù hợp với dữ liệu lớn.
- Công thức Excel (VLOOKUP/XLOOKUP/COUNTIF/EXACT): Linh hoạt, nhưng cần kiến thức công thức sâu.
- Power Query: Thích hợp cho dữ liệu lớn, có thể kết hợp nhiều bước xử lý dữ liệu.
- Pivot Table: Tốt cho dữ liệu tổng hợp, không phải chi tiết.
- VBA Macro: Đáp ứng nhu cầu tự động hoá, xử lý phức tạp.
Bạn có thể chọn phương pháp phù hợp với độ phức tạp và độ lớn dữ liệu. Khi làm việc thực tế, thường là kết hợp Power Query + Conditional Formatting để có báo cáo trực quan ngay lập tức, và VBA để xuất kết quả chi tiết khi cần thiết.
Bằng cách hiểu rõ từng công cụ và tận dụng đúng vị trí, bạn sẽ tiết kiệm thời gian, tránh sai sót và nâng cao độ tin cậy của dữ liệu trong doanh nghiệp.

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