Hàm INDEX MATCH là một trong những công cụ mạnh mẽ nhất trong Excel giúp bạn truy xuất dữ liệu chính xác, linh hoạt theo cả chiều ngang và dọc. Bài viết này sẽ hướng dẫn bạn cách sử dụng hàm index và match từ cơ bản đến nâng cao, kèm ví dụ minh họa dễ hiểu, áp dụng được ngay trong công việc văn phòng, kế toán, nhân sự hay marketing.
I. Hàm INDEX MATCH trong Excel là gì?
Hàm index match là sự kết hợp giữa hai hàm mạnh mẽ trong Excel: index
và match
, được sử dụng để tìm kiếm và truy xuất dữ liệu theo cả hàng và cột trong một bảng tính. Đây là giải pháp thay thế hiệu quả cho các hàm tìm kiếm truyền thống như vlookup
và hlookup
, giúp xử lý linh hoạt các tình huống tra cứu dữ liệu phức tạp.

Hàm INDEX MATCH trong Excel là gì
Ưu điểm của hàm index và match là gì?
- Tìm kiếm linh hoạt hơn
vlookup
: Với vlookup
, bạn bị giới hạn chỉ tìm dữ liệu từ cột bên phải. Trong khi đó, index match
có thể tra cứu dữ liệu ở bất kỳ vị trí nào trong bảng, kể cả bên trái hoặc phía trên giá trị cần tìm.
- Hiệu suất cao hơn trong bảng lớn: Khi xử lý hàng ngàn dòng dữ liệu,
hàm index match
tỏ ra nhanh và chính xác hơn do không phải quét toàn bộ vùng bảng như vlookup
.
- Ít bị lỗi khi chèn/xoá cột:
vlookup
phụ thuộc vào chỉ số cột cố định, nếu bạn thêm hoặc xóa cột sẽ khiến kết quả sai lệch. index match
sử dụng vùng dữ liệu linh hoạt nên không bị ảnh hưởng bởi thay đổi cấu trúc bảng.
Ứng dụng thực tế của hàm index match trong excel:
- Quản lý nhân sự: Truy xuất thông tin nhân viên như mã số, phòng ban, số ngày công từ bảng dữ liệu lớn.
- Theo dõi tồn kho: Tìm nhanh số lượng tồn theo mã sản phẩm từ bảng nhập – xuất kho.
- Bảng lương, KPI: Kết hợp
index match
để lấy thông tin lương, thưởng, đánh giá hiệu suất theo tháng hoặc theo mã nhân viên.
- Tổng hợp báo cáo: Lấy dữ liệu động từ nhiều bảng phụ vào bảng chính để phục vụ báo cáo cuối kỳ.
II. Cấu trúc chuẩn của hàm index và match

Cấu trúc chuẩn của hàm INDEX và MATCH
Công thức tổng quát của hàm index match:
=INDEX(vùng_dữ_liệu_cần_lấy, MATCH(giá_trị_tìm, vùng_tìm_kiếm, 0))
Phân tích từng thành phần:
- vùng dữ liệu cần lấy: Là nơi chứa kết quả bạn muốn truy xuất, có thể là một cột, một hàng, hoặc toàn bộ bảng.
- giá trị tìm: Là giá trị đầu vào bạn muốn đối chiếu (ví dụ: mã nhân viên, tên sản phẩm…).
- vùng tìm kiếm: Là vùng chứa các giá trị bạn dùng để đối chiếu với giá trị tìm (phải khớp kích thước theo chiều dọc hoặc ngang).
- 0: Là tùy chọn tìm kiếm chính xác – yêu cầu giá trị khớp 100%.
Mẹo căn chỉnh vùng dữ liệu để tối ưu công thức hàm match và index:
- Luôn dùng vùng dữ liệu cùng chiều: Nếu bạn dò theo hàng dọc, cả
vùng dữ liệu cần lấy
và vùng tìm kiếm
phải có cùng số dòng; nếu dò theo hàng ngang, chúng phải có cùng số cột.
- Cố định vùng bằng ký hiệu $: Dùng ký hiệu $ để cố định vùng (ví dụ: A$2:A$100), tránh lỗi khi sao chép công thức.
- Kết hợp với IFERROR: Bọc toàn bộ công thức bằng
iferror
để tránh lỗi khi không tìm thấy kết quả.
- Đặt tên vùng (Named Range): Nếu dùng công thức nhiều lần, đặt tên cho vùng dữ liệu để dễ đọc, dễ sửa và giảm sai sót.
III. Cách dùng hàm INDEX MATCH qua ví dụ thực tế
Ví dụ 1: Tìm lương nhân viên theo tên theo công thức hàm INDEX MATCH
Giả sử bạn có bảng dữ liệu sau:
A |
B |
C |
Họ tên |
Mã nhân viên |
Lương |
Nguyễn An |
NV001 |
12.000.000 |
Trần Bình |
NV002 |
15.000.000 |
Lê Văn Cường |
NV003 |
13.500.000 |
Bạn muốn tìm lương của nhân viên “Trần Bình”.
Công thức text:
=INDEX(C2:C4, MATCH("Trần Bình", A2:A4, 0))
Kết quả trả về: 15.000.000
Giải thích:
- Cột A chứa họ tên → MATCH tìm vị trí “Trần Bình”
- Cột C chứa lương → INDEX lấy giá trị tại vị trí vừa tìm
Ví dụ 2: Truy xuất giá sản phẩm từ bảng giá theo công thức hàm INDEX MATCH
|
B |
C |
D |
1 |
SP01 |
SP02 |
SP03 |
2 |
120.000 |
155.000 |
175.000 |
Bạn muốn tìm giá của sản phẩm mã “SP02”.
Công thức text:
=INDEX(B2:D2, MATCH("SP02", B1:D1, 0))
Kết quả trả về: 155.000
Giải thích:
- MATCH dò tìm mã sản phẩm ở hàng 1
- INDEX lấy giá trị tại hàng 2 ứng với mã tìm được
Ví dụ 3: Lấy điểm học sinh theo tên và môn học theo hàm INDEX MATCH
|
A |
B |
C |
D |
1 |
Họ tên |
Toán |
Văn |
Anh |
2 |
Minh |
9 |
7.5 |
8 |
3 |
Hoa |
8 |
9 |
8.5 |
4 |
Tùng |
7 |
6.5 |
7 |
Bạn muốn biết điểm môn Văn của học sinh “Hoa”.
Công thức text:
=INDEX(B2:D4, MATCH("Hoa", A2:A4, 0), MATCH("Văn", B1:D1, 0))
Kết quả trả về: 9
Giải thích:
- MATCH 1 tìm dòng của “Hoa”
- MATCH 2 tìm cột của môn “Văn”
- INDEX trả về điểm tương ứng từ bảng B2:D4
IV. So sánh hàm INDEX MATCH với các hàm tìm kiếm khác

So sánh hàm INDEX MATCH với các hàm tìm kiếm khác
So sánh hàm hàm INDEX MATCH với VLOOKUP và HLOOKUP
Tiêu chí |
INDEX MATCH |
VLOOKUP / HLOOKUP |
Hướng dò tìm |
Linh hoạt dòng & cột |
Chỉ dò 1 chiều |
Yêu cầu vị trí giá trị tìm |
Không cần nằm đầu vùng dò |
Phải nằm cột đầu tiên |
Khả năng mở rộng dữ liệu |
Linh hoạt, không vỡ công thức |
Dễ vỡ công thức khi thêm cột |
Tốc độ xử lý dữ liệu lớn |
Tốt hơn |
Chậm hơn |
So sánh với hàm MATCH và hàm INDEX dùng riêng
- MATCH: chỉ trả về số thứ tự, không trả về giá trị
- INDEX: cần số dòng/cột cụ thể để truy xuất dữ liệu
- Khi kết hợp hàm INDEX và MATCH, bạn sẽ có công cụ truy xuất linh hoạt, tự động theo nội dung dữ liệu, thay vì phải đếm thủ công vị trí.
Khi nào nên dùng hàm MATCH INDEX
- Khi dữ liệu thay đổi thường xuyên theo hàng/cột
- Khi làm báo cáo, dashboard, bảng phân tích KPI
- Khi làm file Excel nhiều điều kiện và cần hiệu suất cao
- Khi muốn tránh sai sót do cố định vị trí cột như VLOOKUP
V. Những lỗi thường gặp khi dùng hàm INDEX MATCH và cách xử lý
1. Lỗi #N/A – Không tìm thấy giá trị cần tra cứu
Nguyên nhân gây lỗi hàm index match:
- Giá trị cần tìm không tồn tại trong vùng tìm kiếm.
- Sai chính tả hoặc chứa khoảng trắng dư thừa.
- Kiểu dữ liệu không đồng nhất (số dạng text so với số thực).
Cách xử lý:
- Kiểm tra chính xác nội dung trong ô chứa giá trị tìm kiếm.
- Dùng hàm
TRIM
, CLEAN
, VALUE
để chuẩn hóa dữ liệu đầu vào.
- Kết hợp hàm IFERROR để tránh lỗi hiển thị không mong muốn:
Ví dụ dạng text công thức:
=IFERROR(index(C2:C100, match(E2, A2:A100, 0)), "Không tìm thấy")

Những lỗi thường gặp khi dùng hàm INDEX MATCH và cách xử lý
2. Lỗi #REF! – Vượt quá giới hạn vùng dữ liệu
Nguyên nhân:
- Giá trị dòng hoặc cột mà hàm MATCH trả về vượt ngoài kích thước vùng của INDEX.
- Chỉ số dòng hoặc cột bằng 0 hoặc âm.
Ví dụ lỗi:
Bạn dùng công thức:
index(B2:B4, match("Giá trị", A2:A4, 0))
Nhưng “Giá trị” không có trong A2:A4 → MATCH trả về lỗi → INDEX không đọc được → #REF!
Giải pháp:
- Luôn kiểm tra số lượng dòng và cột của vùng dữ liệu.
- Đảm bảo vùng MATCH và INDEX tương thích về độ dài.
3. Sai kết quả do không cố định vùng bằng ký hiệu đô la ($)
Vấn đề hàm index match:
Khi bạn sao chép công thức xuống nhiều dòng hoặc sang nhiều cột, vùng dò tìm sẽ bị thay đổi nếu không cố định bằng $
.
Ví dụ sai:
index(C2:C100, match(A2, A2:A100, 0))
(không cố định vùng)
→ Khi kéo công thức xuống, vùng A2:A100
sẽ thành A3:A101
, gây sai kết quả.
Cách xử lý:
→ Dùng dấu $
để cố định vùng dữ liệu:
Ví dụ đúng:
index($C$2:$C$100, match(A2, $A$2:$A$100, 0))
4. Mẹo kiểm tra công thức bằng Evaluate Formula
Tính năng:
Trong thẻ Formulas trên thanh công cụ Excel, chọn Evaluate Formula để kiểm tra từng bước của công thức.
→ Rất hữu ích để soi lỗi logic trong các công thức phức tạp.
VI. Ứng dụng hàm INDEX MATCH trong Excel theo ngành nghề
Kế toán – tài chính
- Truy xuất chi phí theo mã khoản mục, tháng, quý từ bảng kế hoạch.
- Đối chiếu số liệu giữa dự toán và thực tế để kiểm tra chênh lệch.
- Tổng hợp báo cáo tài chính theo tiêu chí động như loại chi phí, phòng ban.
Ví dụ dạng text công thức:
index(C2:C100, match("Chi phí marketing", A2:A100, 0))
Nhân sự – hành chính
- Tìm thông tin nhân sự theo mã nhân viên, phòng ban, vị trí.
- Tạo danh sách lương, nghỉ phép theo yêu cầu linh hoạt của quản lý.
- Tự động cập nhật hồ sơ bằng dashboard hoặc bảng điều khiển.
Ví dụ dạng text công thức:
index(D2:D200, match("NV103", B2:B200, 0))
Kinh doanh – marketing
- Truy xuất bảng giá theo mã sản phẩm, khu vực, thời điểm.
- Tổng hợp KPI bán hàng theo tháng, quý, năm.
- Phân tích hiệu suất theo khu vực bằng cách kết hợp INDEX MATCH với SUMIFS hoặc bảng tổng hợp.
Ví dụ dạng text công thức:
index(G2:G100, match("KPI Q1", F2:F100, 0))
VII. KingOffice – Không gian làm việc chuẩn hóa cho dân văn phòng dùng Excel
Bạn có thể thành thạo hàm index match, làm chủ các bảng tính phức tạp, nhưng để vận dụng thành công kỹ năng đó vào công việc thực tế, bạn cần một môi trường làm việc hiện đại, ổn định và phù hợp với đặc thù ngành nghề. KingOffice là đối tác không gian lý tưởng giúp bạn biến năng lực Excel thành năng suất vượt trội.
Lý do chọn KingOffice nếu bạn làm việc nhiều với Excel:
- Hơn 2.000 tòa nhà văn phòng chuyên nghiệp tại TP.HCM, từ Quận 1, Quận 3, Phú Nhuận đến khu công nghệ cao Thủ Đức, Bình Thạnh… với diện tích linh hoạt từ 10m² đến 500m², phù hợp cho cá nhân, startup, hoặc doanh nghiệp 100+ nhân sự.
- Báo giá nhanh trong 5 phút – chính xác từ chủ đầu tư, không thông qua trung gian nên cam kết không phát sinh chi phí ẩn.
- Miễn phí đưa đón đi xem văn phòng thực tế, tư vấn tận nơi các phương án bố trí layout theo mô hình phòng ban như: kế toán, hành chính, marketing, dữ liệu – tối ưu hóa luồng công việc Excel cho từng nhóm chuyên môn.
- Tư vấn miễn phí thủ tục pháp lý, từ thành lập doanh nghiệp, đăng ký MST, đến bố trí nội thất văn phòng theo mô hình chuẩn, giúp doanh nghiệp vận hành trơn tru ngay từ ngày đầu.
- Hỗ trợ thiết kế không gian riêng cho phân tích dữ liệu, xử lý bảng tính, phân quyền chia sẻ Excel, tích hợp nhu cầu thực tế cho các team sử dụng Google Sheets, Power BI, phần mềm kế toán.
Một số Toà nhà văn phòng cho thuê quận 1 đang được ưu đãi hấp dẫn tại King Office
Chỉ từ $24 |
Chỉ từ $28 |
Chỉ từ $40 |
Liên hệ ngay hôm nay để được tư vấn và nhận báo giá văn phòng phù hợp nhất với lĩnh vực và mô hình vận hành của bạn: