Chia sẻ
"INDEX/MATCH là combo tra cứu huyền thoại. XLOOKUP là sự thay thế hiện đại. Bài viết so sánh chi tiết ưu nhược điểm, tính năng, cú pháp — giúp bạn chọn đúng công cụ cho từng tình huống."
INDEX/MATCH là combo tra cứu huyền thoại suốt hàng thập kỷ. Nhưng XLOOKUP ra đời năm 2019 với thiết kế hiện đại hơn. Vậy khi nào nên dùng gì? Bài viết so sánh chi tiết từ cú pháp, tính năng, đến hiệu suất — giúp bạn chọn đúng công cụ cho từng tình huống.
INDEX/MATCH — Combo Tra Cứu Huyền Thoại
Combo INDEX + MATCH dùng 2 bước để tra cứu:
MATCH tìm vị trí (số thứ tự) của giá trị trong mảng tra cứu.
INDEX trả về giá trị tại vị trí đó trong mảng kết quả.
Cú pháp:
=INDEX(return_array, MATCH(lookup_value, lookup_array, [match_type]))Ví dụ: Tra mã nhân viên để lấy email:
// B2:B100 = Mã NV, E2:E100 = Email, G2 = Mã cần tìm
=INDEX(E2:E100, MATCH(G2, B2:B100, 0))
// MATCH tìm G2 trong B2:B100, trả về vị trí (vd: 7)
// INDEX lấy giá trị thứ 7 trong E2:E100 → emailXLOOKUP — Sự Thay Thế Hiện Đại
XLOOKUP ra mắt năm 2019, thiết kế để thay thế VLOOKUP và cạnh tranh trực tiếp với INDEX/MATCH. Cú pháp:
=XLOOKUP(lookup_value, lookup_array, return_array, [if_not_found], [match_mode], [search_mode])
// Chỉ 3 tham số bắt buộc, 3 tham số tùy chọnCùng ví dụ tra email:
=XLOOKUP(G2, B2:B100, E2:E100, "Không tìm thấy")
// 1 hàm duy nhất, có sẵn xử lý lỗiĐiểm Mạnh Của INDEX/MATCH
1. Tương thích mọi phiên bản Excel
INDEX và MATCH có từ Excel 2003 trở đi. Nếu worksheet cần chia sẻ với người dùng Excel cũ (2016, 2019), chỉ có INDEX/MATCH hoạt động. XLOOKUP yêu cầu Excel 365 hoặc Excel 2021+.
2. Tra cứu 2 chiều (Two-Way Lookup) dễ hơn
INDEX chấp nhận cả row và column number — lý tưởng cho bảng 2 chiều:
// Bảng doanh thu: A = Sản phẩm (cột), hàng 1 = Tháng
=INDEX(B2:M10,
MATCH("Laptop", A2:A10, 0),
MATCH("T6", B1:M1, 0)
)
// → Doanh thu Laptop tháng 6
// XLOOKUP phải lồng 2 tầng XLOOKUP, phức tạp hơn nhiều3. Numeric index linh hoạt
Vì MATCH trả về số, bạn có thể điều chỉnh linh hoạt:
// Lấy giá trị ở cột động (cột thay đổi theo input):
=INDEX(B2:F100, MATCH(G2, A2:A100, 0), H2)
// H2 chứa số cột (1-5) → tra cứu cột bất kỳ
// Lấy dòng trên/dưới vị trí match:
=INDEX(B2:B100, MATCH(G2, A2:A100, 0) + 1)
// → Giá trị dòng ngay sau kết quả tìm được4. Trả về cả hàng hoặc cả cột
INDEX có thể trả toàn bộ hàng (column=0) hoặc cột (row=0) — hữu ích khi kết hợp với hàm khác:
=SUM(INDEX(B2:F100, MATCH("Laptop", A2:A100, 0), 0))
// Tổng toàn bộ hàng của sản phẩm Laptop5. Dễ debug hơn
Vì chia 2 bước, bạn có thể kiểm tra MATCH riêng (nhấn F9) để xem vị trí tìm được trước khi INDEX trả kết quả. Với XLOOKUP, mọi thứ nằm trong 1 hàm — khó trace lỗi hơn.
Điểm Mạnh Của XLOOKUP
1. Đơn giản, ít lỗi
Chỉ 1 hàm, 3 tham số bắt buộc. Không cần hiểu khái niệm nesting hay numeric index. Người mới học Excel nắm XLOOKUP trong 5 phút, INDEX/MATCH mất 30 phút+.
2. Exact match mặc định — An toàn hơn
XLOOKUP mặc định exact match. INDEX + MATCH (dùng MATCH cũ) mặc định approximate match — dễ trả kết quả SAI mà không hay biết. Đây là nguồn lỗi phổ biến nhất:
// Nguy hiểm — MATCH mặc định match_type = 1 (approximate):
=INDEX(B2:B100, MATCH(G2, A2:A100)) ❌ Sai nếu data chưa sort!
// Phải nhớ thêm 0:
=INDEX(B2:B100, MATCH(G2, A2:A100, 0)) ✅
// XLOOKUP không cần lo — mặc định exact match:
=XLOOKUP(G2, A2:A100, B2:B100) ✅ Luôn đúng3. Xử lý lỗi tích hợp
XLOOKUP có tham số if_not_found. INDEX/MATCH phải bọc IFERROR:
// XLOOKUP — gọn:
=XLOOKUP(G2, A2:A100, B2:B100, "Không tìm thấy")
// INDEX/MATCH — dài hơn:
=IFERROR(INDEX(B2:B100, MATCH(G2, A2:A100, 0)), "Không tìm thấy")4. Tìm ngược (Reverse Search)
XLOOKUP hỗ trợ search_mode = -1 để tìm từ cuối lên. Hữu ích khi cần giá trị mới nhất:
// Tìm đơn hàng gần nhất của khách "Trung":
=XLOOKUP("Trung", A2:A1000, D2:D1000, , 0, -1)
// search_mode = -1 → tìm từ dưới lên5. Match mode linh hoạt
XLOOKUP hỗ trợ 4 chế độ match: exact (0), next smaller (-1), next larger (1), wildcard (2). Và không yêu cầu dữ liệu phải sorted cho approximate match — khác với MATCH cũ.
Bảng So Sánh Chi Tiết
Tính năng | INDEX/MATCH | XLOOKUP |
|---|---|---|
Tương thích | Excel 2007+ | Excel 365 / 2021+ |
Độ phức tạp | Cao (2 hàm lồng nhau) | Thấp (1 hàm) |
Mặc định exact match | ❌ (MATCH cũ) | ✅ |
Xử lý lỗi tích hợp | ❌ (cần IFERROR) | ✅ (if_not_found) |
Two-way lookup | ✅ Dễ dàng | ⚠️ Phức tạp |
Reverse search | ✅ (cần XMATCH) | ✅ Tích hợp sẵn |
Dynamic column | ✅ Linh hoạt | ❌ Không hỗ trợ |
Debug | ✅ Dễ (2 bước) | ⚠️ Khó hơn |
Khi Nào Dùng XLOOKUP? Khi Nào Dùng INDEX/MATCH?
Dùng XLOOKUP khi:
Bạn (và đồng nghiệp) dùng Excel 365 hoặc 2021
Tra cứu 1 chiều (1 giá trị tra → 1 kết quả)
Cần nhanh, gọn, dễ đọc
Cần reverse search hoặc xử lý lỗi inline
Dùng INDEX/MATCH khi:
File cần tương thích Excel cũ (2016, 2019)
Tra cứu 2 chiều (row + column lookup)
Cần dynamic column (cột thay đổi theo input)
Công thức phức tạp cần debug từng bước
Ví Dụ Nâng Cao: Multi-Criteria Lookup
Cả 2 đều hỗ trợ tra cứu nhiều điều kiện bằng Boolean algebra:
// XLOOKUP — tra theo Phòng ban + Chức vụ:
=XLOOKUP(1,
(A2:A100="IT") * (B2:B100="Manager"),
C2:C100,
"Không tìm thấy"
)
// Ctrl+Shift+Enter nếu Excel cũ
// INDEX/MATCH — cùng logic:
=INDEX(C2:C100,
MATCH(1, (A2:A100="IT") * (B2:B100="Manager"), 0)
)Câu Hỏi Thường Gặp (FAQ)
XLOOKUP có nhanh hơn INDEX/MATCH không?
Trong hầu hết trường hợp, hiệu suất tương đương. Với dataset rất lớn (100K+ rows), INDEX + XMATCH binary search có thể nhanh hơn. Nhưng sự khác biệt thường không đáng kể cho công việc hàng ngày.
Tôi nên học cái nào trước?
Nếu bạn dùng Excel 365: học XLOOKUP trước (đơn giản, nhanh master). Sau đó học INDEX/MATCH cho các tình huống nâng cao. Nếu dùng Excel cũ: phải học INDEX/MATCH vì XLOOKUP không available.
XMATCH là gì? Có nên dùng thay MATCH?
XMATCH là phiên bản nâng cấp của MATCH (ra cùng XLOOKUP). XMATCH mặc định exact match, hỗ trợ reverse search, binary search, và match next larger/smaller. Nếu có Excel 365 → dùng XMATCH thay MATCH.
XLOOKUP có thay thế hoàn toàn INDEX/MATCH?
Chưa hoàn toàn. Two-way lookup và dynamic column vẫn là thế mạnh của INDEX/MATCH. Cả 2 nên nằm trong toolbox của bạn — XLOOKUP cho 80% trường hợp, INDEX/MATCH cho 20% còn lại.
Tổng Kết
XLOOKUP là sự lựa chọn tốt hơn cho hầu hết tình huống tra cứu thông thường — đơn giản, an toàn, ít lỗi. Nhưng INDEX/MATCH vẫn không thể thay thế được trong tra cứu 2 chiều, dynamic column, và môi trường cần tương thích ngược. Người dùng Excel pro nên thành thạo cả hai.
Bình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.
Bài viết liên quan
Khám phá thêm các bài viết cùng chủ đề
