Có thể bạn quan tâm: Cách Mở 2 File Excel Cùng Lúc: Hướng Dẫn Chi Tiết Từ A Đến Z
Mở Đầu: Tại Sao Hàm Đối Chiếu Dữ Liệu Lại Quan Trọng?
Trong môi trường làm việc hiện đại, dữ liệu là nguồn lực then chốt quyết định hiệu suất và chất lượng quyết định. Excel, với tính năng phong phú và khả năng mở rộng mạnh mẽ, đã trở thành công cụ không thể thiếu để quản lý, phân tích và trình bày dữ liệu. Trong số hàng trăm hàm có sẵn, hàm đối chiếu dữ liệu (lookup functions) đóng vai trò trung tâm, giúp người dùng nhanh chóng tìm kiếm, so sánh và trích xuất thông tin từ các bảng dữ liệu lớn.
Việc nắm vững cách sử dụng các hàm đối chiếu không chỉ giúp tiết kiệm thời gian mà còn giảm thiểu sai sót do nhập liệu thủ công, đồng thời mở ra khả năng xây dựng các báo cáo tự động, dashboard tương tác và các mô hình phân tích phức tạp. Bài viết dưới đây sẽ cung cấp một hướng dẫn chi tiết, từ kiến thức nền tảng đến các kỹ thuật nâng cao, giúp bạn trở thành “bậc thầy” trong việc đối chiếu dữ liệu trên Excel.
Có thể bạn quan tâm: Cách Mã Hóa File Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Tổng Quan Về Các Hàm Đối Chiếu Cơ Bản
1.1. VLOOKUP (Vertical Lookup)
- Công dụng: Tìm kiếm giá trị trong cột đầu tiên của một bảng và trả về giá trị từ một cột khác trong cùng hàng.
- Cú pháp:
VLOOKUP(lookup_value, table_array, col_index_num, range_lookup) lookup_value: Giá trị cần tìm.table_array: Vùng dữ liệu chứa cả cột tìm kiếm và cột trả về.col_index_num: Số thứ tự cột trả về (bắt đầu từ 1).range_lookup:TRUE(tìm gần đúng) hoặcFALSE(tìm chính xác).
1.2. HLOOKUP (Horizontal Lookup)
- Công dụng: Tương tự VLOOKUP nhưng tìm kiếm trên hàng đầu tiên và trả về từ cột khác.
- Cú pháp:
HLOOKUP(lookup_value, table_array, row_index_num, range_lookup)
1.3. INDEX & MATCH (Kết Hợp)
- INDEX: Trả về giá trị của một ô dựa trên vị trí hàng và cột.
- Cú pháp:
INDEX(array, row_num, column_num) - MATCH: Tìm vị trí (số thứ tự) của một giá trị trong một dãy.
- Cú pháp:
MATCH(lookup_value, lookup_array, match_type) - Kết hợp:
INDEX(table_array, MATCH(lookup_value, lookup_column, 0), col_index_num) - Ưu điểm: Không giới hạn vị trí cột tìm kiếm, linh hoạt hơn VLOOKUP.
1.4. XLOOKUP (Excel 365/2026 trở lên)
- Công dụng: Thay thế VLOOKUP, HLOOKUP, INDEX/MATCH với cú pháp đơn giản và tính năng mạnh mẽ.
- Cú pháp:
XLOOKUP(lookup_value, lookup_array, return_array, if_not_found, match_mode, search_mode) match_mode: 0 (chính xác), -1 (chính xác hoặc nhỏ hơn), 1 (chính xác hoặc lớn hơn), 2 (wildcard).search_mode: 1 (tìm từ đầu), -1 (tìm từ cuối).
1.5. LOOKUP (Cũ)
- Công dụng: Tìm giá trị trong một dãy sắp xếp và trả về giá trị tương ứng.
- Cú pháp:
LOOKUP(lookup_value, lookup_vector, result_vector)
Lưu ý: Dù LOOKUP vẫn còn được hỗ trợ, nhưng trong thực tế người dùng thường ưu tiên XLOOKUP hoặc kết hợp INDEX/MATCH vì tính năng đa dạng và độ chính xác cao hơn.
Có thể bạn quan tâm: Cách Lấy Ảnh Từ Excel: Hướng Dẫn Chi Tiết Từng Bước Để Trích Xuất Hình Ảnh Một Cách Nhanh Chóng Và Hiệu Quả
2. Khi Nào Nên Chọn Hàm Đối Chiếu Phù Hợp?
| Tình huống | Hàm đề xuất | Lý do |
|---|---|---|
| Dữ liệu dạng cột, cần tìm kiếm nhanh, không thay đổi cấu trúc bảng | VLOOKUP (range_lookup = FALSE) | Đơn giản, nhanh, phù hợp với người mới |
| Dữ liệu dạng hàng | HLOOKUP | Tương tự VLOOKUP nhưng dọc |
| Cần tìm giá trị ở cột bên trái hoặc bất kỳ vị trí nào | INDEX + MATCH | Không bị giới hạn bởi vị trí cột tìm kiếm |
| Muốn hàm trả về giá trị mặc định khi không tìm thấy | XLOOKUP (if_not_found) | Tiện lợi, giảm lỗi #N/A |
| Cần tìm kiếm với ký tự đại diện (wildcard) | XLOOKUP (match_mode = 2) | Hỗ trợ , ?, ~ |
| Tìm kiếm trong bảng lớn, cần tối ưu tốc độ | XLOOKUP hoặc INDEX/MATCH (sử dụng bảng phụ trợ) | Hiệu suất tốt hơn VLOOKUP trong nhiều trường hợp |
3. Chi Tiết Cú Pháp và Ví Dụ Thực Tế
3.1. VLOOKUP – Ví Dụ Cụ Thể
Giả sử có bảng Bán Hàng (cột A: Mã SP, B: Tên SP, C: Đơn Giá) và bạn muốn tra cứu Đơn Giá dựa trên Mã SP.
=VLOOKUP("SP001", A2:C100, 3, FALSE)
- Giải thích: Tìm “SP001” trong cột A (cột đầu tiên của A2:C100) và trả về giá trị ở cột 3 (cột C – Đơn Giá).
FALSEđảm bảo tìm chính xác.
3.1.1. Xử Lý Khi Không Tìm Thấy
=IFERROR(VLOOKUP(D2, $A$2:$C$100, 3, FALSE), "Không có dữ liệu")
IFERRORgiúp hiển thị thông báo thay vì lỗi#N/A.
3.2. INDEX + MATCH – Tình Huống Thực Tế
Bạn có bảng Nhân Viên (cột A: ID, B: Họ, C: Tên, D: Phòng). Muốn lấy Phòng dựa trên Họ và Tên.
=INDEX(D2:D200, MATCH(1, (B2:B200=E2)(C2:C200=F2), 0))
- Giải thích:
MATCHtìm vị trí dòng mà Họ = E2 và Tên = F2.INDEXtrả về giá trị trong cột D tại vị trí đó.- Công thức này là mảng; trong Excel 365 bạn chỉ cần nhấn Enter, trong các phiên bản cũ cần
Ctrl+Shift+Enter.
3.2.1. Kết Hợp Với IFERROR
=IFERROR(INDEX(D2:D200, MATCH(1, (B2:B200=E2)(C2:C200=F2), 0)), "Không tìm thấy")
3.3. XLOOKUP – Đơn Giản Hóa Tất Cả
Với cùng bảng Nhân Viên, sử dụng XLOOKUP:
=XLOOKUP(E2 & "|" & F2, B2:B200 & "|" & C2:C200, D2:D200, "Không tìm thấy", 0)
- Giải thích:
lookup_valuelà chuỗi hợp nhất của Họ và Tên (E2 & "|" & F2).lookup_arraycũng là chuỗi hợp nhất của các cột Họ và Tên trong bảng dữ liệu.return_arraylà cột Phòng.if_not_found= “Không tìm thấy”.match_mode= 0 (chính xác).
3.4. Tìm Kiếm Với Wildcard
Giả sử muốn tìm mọi sản phẩm có tên bắt đầu bằng “Acer”.
=XLOOKUP("Acer", A2:A200, B2:B200, "Không tìm thấy", 2)
match_mode= 2 cho phép sử dụng ký tự đại diện.
4. Các Bài Toán Thực Tế Thường Gặp
4.1. Đối Chiếu Hai Danh Sách Khách Hàng
Bạn có danh sách Khách hàng hiện tại (cột A) và Khách hàng tiềm năng (cột D). Muốn đánh dấu những khách hàng trong danh sách hiện tại đã xuất hiện trong danh sách tiềm năng.

Có thể bạn quan tâm: Cách Mở Excel Trên Macbook: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
=IF(COUNTIF($D$2:$D$500, A2)>0, "Đã có trong tiềm năng", "Mới")
Hoặc dùng XLOOKUP:
=IFERROR(XLOOKUP(A2, $D$2:$D$500, $D$2:$D$500, "Mới", 0), "Mới")
4.2. Tính Tổng Giá Trị Bán Hàng Theo Nhóm Sản Phẩm
Sử dụng SUMIFS kết hợp với hàm đối chiếu để lấy mã nhóm.
=SUMIFS(C2:C1000, A2:A1000, XLOOKUP(E2, G2:G50, H2:H50))
- Ở đây
E2là tên nhóm,G2:G50là danh sách tên nhóm,H2:H50là mã nhóm.
4.3. Lấy Thông Tin Đa Cột Dựa Trên Một Giá Trị
Bạn muốn trả về Tên, Địa chỉ, Số điện thoại cho một khách hàng dựa trên Mã KH.
=CHOOSE({1,2,3}, XLOOKUP(K2, A2:A500, B2:B500, "Không tìm thấy"), XLOOKUP(K2, A2:A500, C2:C500, "Không tìm thấy"), XLOOKUP(K2, A2:A500, D2:D500, "Không tìm thấy")
)
CHOOSEkết hợp mảng trả về ba cột đồng thời (Excel 365).
5. Tối Ưu Hiệu Suất Khi Sử Dụng Hàm Đối Chiếu
- Giảm phạm vi tìm kiếm: Tránh sử dụng toàn bộ cột (
A:A) nếu chỉ cầnA2:A1000. Điều này giảm thời gian tính toán. - Sử dụng bảng (Table) và cấu trúc tham chiếu có tên: Giúp công thức dễ đọc và tự động mở rộng khi thêm dữ liệu.
- Tránh lặp lại hàm trong mỗi ô: Khi cần áp dụng cùng một tìm kiếm cho nhiều ô, hãy tính toán một lần trong một cột phụ và tham chiếu kết quả.
- Sử dụng
XLOOKUPhoặcINDEX/MATCHthay vìVLOOKUPtrong bảng lớn: DoVLOOKUPluôn phải quét toàn bộ bảng, trong khiXLOOKUPvàINDEX/MATCHcó khả năng tận dụng tối ưu bộ nhớ. - Bảo vệ dữ liệu đầu vào: Đảm bảo không có khoảng trắng thừa, ký tự đặc biệt hoặc định dạng không đồng nhất (số vs. văn bản). Dùng
TRIM,CLEAN,VALUEnếu cần.
6. Xử Lý Lỗi Thường Gặp
| Lỗi | Nguyên nhân | Cách khắc phục |
|---|---|---|
#N/A | Không tìm thấy giá trị | Dùng IFERROR, IFNA hoặc cung cấp giá trị mặc định trong XLOOKUP (if_not_found). |
#VALUE! | Tham chiếu sai kiểu dữ liệu (ví dụ: so sánh số với văn bản) | Kiểm tra định dạng, dùng VALUE() hoặc TEXT(). |
#REF! | Tham chiếu tới ô đã bị xóa hoặc công thức mảng không đúng | Đảm bảo phạm vi tồn tại, không xóa cột/row đang tham chiếu. |
#SPILL! (Excel 365) | Kết quả mảng không đủ chỗ để hiển thị | Xóa hoặc di chuyển dữ liệu chặn. |
#NAME? | Tên hàm không đúng hoặc không được hỗ trợ trong phiên bản Excel hiện tại | Kiểm tra chính tả, phiên bản Excel (ví dụ: XLOOKUP không có trong Excel 2026). |
7. Các Kỹ Thuật Nâng Cao
7.1. Đối Chiếu Hai Bảng Dùng PivotTable
- Tạo PivotTable cho bảng A (ví dụ: doanh số theo khách hàng) và bảng B (thông tin khách hàng).
- Sử dụng Relationships (Quan hệ) trong Data Model để liên kết hai bảng qua trường chung (Customer ID).
- Khi tạo Pivot, bạn có thể kéo trường từ cả hai bảng, Excel sẽ tự động thực hiện đối chiếu.
7.2. Sử Dụng Power Query Để Ghép Dữ Liệu
Power Query (Get & Transform) cung cấp công cụ Merge Queries (ghép bảng) với các kiểu join (inner, left, right, full). Quy trình:
- Load hai bảng vào Power Query.
- Chọn Home > Merge Queries.
- Chọn cột khóa (ví dụ:
Mã KH) và kiểu join (Left Outer để lấy tất cả khách hàng hiện tại và thông tin từ bảng tiềm năng). - Mở rộng cột mới để lấy các trường cần thiết.
- Close & Load trở lại Excel.
Ưu điểm: Tự động cập nhật khi dữ liệu nguồn thay đổi, giảm phụ thuộc vào công thức phức tạp.
7.3. Đối Chiếu Với Hàm FILTER (Excel 365)
Khi muốn trả về nhiều dòng khớp với một điều kiện:
=FILTER(Table1Đơn Giá, Table1Mã SP="SP001", "Không có dữ liệu")
FILTERtrả về một mảng các giá trị khớp, hữu ích trong báo cáo động.
7.4. Sử Dụng Dynamic Arrays Kết Hợp XLOOKUP
=LET( key, A2, data, Table1, result, XLOOKUP(key, dataID, dataValue), IFERROR(result, "Chưa có")
)
LETgiúp đặt tên biến, giảm lặp lại và tăng tốc độ tính toán.
8. Thực Hành: Xây Dựng Bảng Đối Chiếu Nhân Sự
Bước 1: Chuẩn Bị Dữ Liệu
| A (ID) | B (Họ) | C (Tên) | D (Phòng) |
|---|---|---|---|
| 001 | Nguyễn | Văn A | Kinh doanh |
| 002 | Trần | Thị B | Marketing |
| 003 | Lê | Hoàng C | HR |
| G (ID) | H (Ngày vào) | I (Lương) |
|---|---|---|
| 001 | 01/01/2026 | 12,000,000 |
| 003 | 15/03/2026 | 10,500,000 |
Bước 2: Ghép Thông Tin Lương Vào Bảng Nhân Sự
=XLOOKUP(A2, $G$2:$G$100, $I$2:$I$100, "Chưa có lương")
Kéo công thức xuống các dòng.
Bước 3: Đánh Dấu Nhân Viên Mới (chưa có trong bảng lương)
=IF(ISNA(XLOOKUP(A2, $G$2:$G$100, $I$2:$I$100)), "Mới", "Đã có")
Bước 4: Tổng Hợp Số Lượng Nhân Viên Theo Phòng
=COUNTIFS(D:D, "Kinh doanh")
Hoặc dùng PivotTable để có báo cáo động.
9. Các Lưu Ý Khi Chia Sẻ File Excel Với Người Khác
- Bảo vệ công thức: Sử dụng
Review > Protect Sheetđể ngăn người dùng chỉnh sửa công thức quan trọng. - Đặt tên cho phạm vi: Giúp người khác hiểu rõ hơn (ví dụ:
tblKhachHang,rngDonGia). - Kiểm tra tính tương thích: Nếu người nhận dùng Excel 2026, tránh dùng XLOOKUP; thay vào đó cung cấp phiên bản INDEX/MATCH.
- Ghi chú (Comments) và mô tả (Data Validation): Thêm hướng dẫn sử dụng trực tiếp trong file.
10. Tổng Kết
- Hiểu rõ nhu cầu: Chọn hàm đối chiếu phù hợp dựa trên cấu trúc dữ liệu và yêu cầu tính năng.
- Nắm vững cú pháp: VLOOKUP, HLOOKUP, INDEX/MATCH, XLOOKUP và các hàm hỗ trợ như IFERROR, IFNA, FILTER.
- Tối ưu hiệu suất: Giảm phạm vi, dùng bảng, tránh lặp lại công thức.
- Xử lý lỗi: Sử dụng IFERROR, IFNA, kiểm tra định dạng dữ liệu.
- Áp dụng công cụ nâng cao: Power Query, PivotTable, Dynamic Arrays.
Với những kiến thức và kỹ thuật trên, bạn sẽ tự tin đối chiếu, hợp nhất và phân tích dữ liệu trong Excel một cách nhanh chóng, chính xác và chuyên nghiệp. Hãy thực hành trên các dự án thực tế, dần dần xây dựng thư viện công thức cá nhân và chia sẻ với đồng nghiệp để nâng cao hiệu suất làm việc của cả nhóm.
Chúc bạn thành công trong hành trình trở thành chuyên gia đối chiếu dữ liệu Excel!

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