Thứ bảy, 24/10/2026
ITGOCùng học IT

Kết hợp hàm INDEX và hàm MATCH trong Excel để truy xuất dữ liệu đa chiều

Kết hợp hàm INDEX và MATCH trong Excel là cách tra cứu dữ liệu theo cả hàng lẫn cột: MATCH tìm vị trí của giá trị cần tra, INDEX lấy giá trị ở đúng vị trí đó. Công thức này tra được sang trái, tra hai chiều và không bị lệch khi chèn thêm cột, những việc VLOOKUP không làm được.

Ví dụ nhanh: =INDEX(B2:E5;MATCH("Hoa";A2:A5;0);MATCH("Q3";B1:E1;0)) → 155 (doanh số của Hoa trong quý 3)

Nguồn: tài liệu hàm INDEX và MATCH của Microsoft, đối chiếu ngày 07/10/2026. Áp dụng cho Excel cho Microsoft 365, Excel 2021, 2019, 2016 và các bản cũ hơn (ví dụ 4 cần Ctrl+Shift+Enter trên Excel 2019 trở xuống).

index match trong excel: ví dụ 1 với bảng dữ liệu và kết quả công thức (minh hoạ)
index match trong excel: ví dụ 1 với bảng dữ liệu và kết quả công thức (minh hoạ)

Cú pháp kết hợp INDEX và MATCH

Một MATCH cho số hàng là đủ khi tra một chiều; thêm MATCH thứ hai cho số cột khi tra hai chiều. Luôn dùng 0 ở cuối MATCH để tìm chính xác.

=INDEX(vùng_kết_quả; MATCH(giá_trị_hàng; cột_dò; 0); [MATCH(giá_trị_cột; hàng_dò; 0)])

Đối số Bắt buộc? Ý nghĩa
vùng_kết_quả Có Vùng chứa giá trị cần lấy (một cột, hoặc cả bảng khi tra hai chiều).
MATCH(...; cột_dò; 0) Có Vị trí hàng: tìm giá trị trong một cột cùng số dòng với vùng kết quả.
MATCH(...; hàng_dò; 0) Không Vị trí cột: tìm tiêu đề trong hàng tiêu đề, dùng khi tra hai chiều.

Ví dụ 1: Tra ngược sang trái theo mã

Mã nhân viên nằm ở cột C, bên phải cột Tên. VLOOKUP không lấy được cột bên trái, còn INDEX + MATCH làm được.

A B C
1 Tên Phòng Mã NV
2 Lan KD NV01
3 Minh KT NV02
4 Hoa KD NV03
5 Tuấn HC NV04
Ô Công thức Kết quả Giải thích
E2 =INDEX(A2:A5;MATCH("NV03";C2:C5;0)) Hoa NV03 ở vị trí 3 của cột C; tên ở vị trí 3 là Hoa

Ví dụ 2: Tra hai chiều theo tên và quý

Bảng doanh số theo quý ở A1:E5. MATCH thứ nhất tìm hàng của Hoa, MATCH thứ hai tìm cột Q3.

A B C D E
1 Nhân viên Q1 Q2 Q3 Q4
2 Lan 120 130 140 150
3 Minh 90 100 110 95
4 Hoa 150 160 155 170
5 Tuấn 80 85 90 100
Ô Công thức Kết quả Giải thích
G2 =INDEX(B2:E5;MATCH("Hoa";A2:A5;0);MATCH("Q3";B1:E1;0)) 155 Hàng 3, cột 3 của vùng B2:E5
G3 =INDEX(B2:E5;MATCH("Minh";A2:A5;0);MATCH("Q4";B1:E1;0)) 95 Hàng 2, cột 4
index match trong excel: ví dụ 2 với bảng dữ liệu và kết quả công thức (minh hoạ)
index match trong excel: ví dụ 2 với bảng dữ liệu và kết quả công thức (minh hoạ)

Ví dụ 3: Tìm người có doanh số cao nhất

MAX tìm doanh số cao nhất quý 4, MATCH tìm vị trí của nó, INDEX trả về tên.

A B C D E
1 Nhân viên Q1 Q2 Q3 Q4
2 Lan 120 130 140 150
3 Minh 90 100 110 95
4 Hoa 150 160 155 170
5 Tuấn 80 85 90 100
Ô Công thức Kết quả Giải thích
G2 =INDEX(A2:A5;MATCH(MAX(E2:E5);E2:E5;0)) Hoa Cao nhất quý 4 là 170
G3 =INDEX(A2:A5;MATCH(MIN(B2:B5);B2:B5;0)) Tuấn Thấp nhất quý 1 là 80

Ví dụ 4: Tra theo hai điều kiện

Nhân hai điều kiện để tạo mảng 1/0, MATCH tìm số 1 đầu tiên. Trên Excel cho Microsoft 365 và Excel 2021 nhấn Enter bình thường; bản cũ hơn cần nhấn Ctrl+Shift+Enter.

A B C
1 Nhân viên Tháng Doanh số
2 Lan 1 120
3 Lan 2 135
4 Minh 1 90
5 Minh 2 105
Ô Công thức Kết quả Giải thích
E2 =INDEX(C2:C5;MATCH(1;(A2:A5="Minh")*(B2:B5=2);0)) 105 Dòng thoả cả “Minh” và tháng 2

Lỗi thường gặp khi kết hợp INDEX và MATCH

Lỗi Nguyên nhân Cách sửa
#N/A MATCH không tìm thấy giá trị hàng hoặc tiêu đề cột (sai chính tả, thừa dấu cách). Kiểm tra lại giá trị; bọc công thức trong IFERROR.
#REF! MATCH trả về vị trí lớn hơn kích thước vùng của INDEX, do hai vùng không cùng số dòng hoặc số cột. Cho cột dò và vùng kết quả cùng bắt đầu, cùng kết thúc ở một dòng.
Kết quả lệch một dòng Vùng dò bắt đầu từ dòng 1 (tiêu đề) còn vùng kết quả bắt đầu từ dòng 2. Chọn hai vùng cùng phạm vi dòng.
#VALUE! ở ví dụ hai điều kiện Nhấn Enter thường trên Excel 2019 trở xuống. Nhấn Ctrl+Shift+Enter để nhập công thức mảng.

Khi nào dùng INDEX + MATCH thay VLOOKUP?

Tình huống VLOOKUP INDEX + MATCH
Cột kết quả nằm bên trái cột dò Không làm được Làm được
Chèn thêm cột vào bảng Phải sửa số thứ tự cột Không cần sửa
Tra hai chiều (hàng và cột) Phải lồng thêm MATCH Làm trực tiếp

Ôn lại từng hàm: hàm INDEX, hàm MATCH, hàm VLOOKUP; danh sách đầy đủ ở bài các hàm trong Excel.

Tải file Excel mẫu

File mẫu gồm 4 trang tính, mỗi trang là một ví dụ ở trên với công thức để sẵn; Excel tự tính lại khi mở. Tải file Excel mẫu (.xlsx).

Câu hỏi thường gặp

INDEX MATCH có nhanh hơn VLOOKUP không?

Với bảng lớn, INDEX + MATCH chỉ đọc hai cột cần thiết nên thường nhẹ hơn khi bảng có nhiều cột, nhưng với bảng nhỏ khác biệt không đáng kể.

Excel mới có hàm nào thay INDEX MATCH không?

Excel cho Microsoft 365 và Excel 2021 có XLOOKUP, làm được việc tra ngược và tra theo điều kiện với cú pháp ngắn hơn.

INDEX MATCH có tra được ở sheet khác không?

Có. Ghi tên sheet trước từng vùng, ví dụ =INDEX(Sheet2!A2:A5;MATCH("NV03";Sheet2!C2:C5;0)).

Xem thêm các thủ thuật khác tại ITGO.

Để lại bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *

Bài viết liên quan