Hàm MATCH trong Excel tìm một giá trị trong một hàng hoặc một cột và trả về VỊ TRÍ của nó (thứ tự trong vùng), không trả về chính giá trị đó. MATCH thường được kết hợp với INDEX để tra cứu linh hoạt hơn VLOOKUP, hoặc dùng riêng để biết một mục đứng thứ mấy trong danh sách.
Ví dụ nhanh: =MATCH("Thước";A2:A6;0) → 3 (Thước đứng thứ 3 trong cột sản phẩm)
Nguồn: tài liệu hàm 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.

Cú pháp hàm MATCH
MATCH có ba đối số; đối số cuối quyết định cách tìm. Nên ghi rõ 0 khi cần tìm chính xác, vì bỏ trống thì Excel hiểu là 1 (tìm gần đúng).
=MATCH(lookup_value; lookup_array; [match_type])
| Đối số | Bắt buộc? | Ý nghĩa |
|---|---|---|
lookup_value |
Có | Giá trị cần tìm: số, chữ, giá trị logic hoặc ô tham chiếu. |
lookup_array |
Có | Vùng một hàng hoặc một cột để tìm. |
match_type |
Không | 0: tìm chính xác. 1 (mặc định): tìm số lớn nhất nhỏ hơn hoặc bằng giá trị, vùng phải sắp tăng dần. -1: tìm số nhỏ nhất lớn hơn hoặc bằng giá trị, vùng phải sắp giảm dần. |
Ví dụ 1: Tìm vị trí chính xác (match_type 0)
Danh sách sản phẩm ở A1:B6. MATCH cho biết mỗi sản phẩm nằm ở dòng thứ mấy trong vùng A2:A6.
| A | B | |
|---|---|---|
| 1 | Sản phẩm | Giá |
| 2 | Bút | 5000 |
| 3 | Vở | 12000 |
| 4 | Thước | 7000 |
| 5 | Tẩy | 4000 |
| 6 | Kéo | 15000 |
| Ô | Công thức | Kết quả | Giải thích |
|---|---|---|---|
| D2 | =MATCH("Thước";A2:A6;0) |
3 | Thước ở vị trí 3 |
| D3 | =MATCH("Kéo";A2:A6;0) |
5 | Kéo ở vị trí 5 |
Ví dụ 2: Tìm gần đúng trong bảng mốc tăng dần (match_type 1)
Bảng mốc doanh số (triệu đồng) sắp tăng dần. MATCH trả về vị trí của mốc lớn nhất không vượt quá giá trị cần tìm.
| A | B | |
|---|---|---|
| 1 | Mốc doanh số | Thưởng |
| 2 | 0 | 0% |
| 3 | 10 | 2% |
| 4 | 20 | 3% |
| 5 | 50 | 5% |
| 6 | 100 | 7% |
| Ô | Công thức | Kết quả | Giải thích |
|---|---|---|---|
| D2 | =MATCH(35;A2:A6;1) |
3 | 35 nằm giữa mốc 20 và 50 nên lấy mốc 20 (vị trí 3) |
| D3 | =MATCH(100;A2:A6;1) |
5 | Trùng đúng mốc 100 |
| D4 | =MATCH(5;A2:A6;1) |
1 | 5 nằm giữa mốc 0 và 10 |

Ví dụ 3: Tìm gần đúng trong danh sách giảm dần (match_type -1)
Với danh sách sắp giảm dần, -1 trả về vị trí của số nhỏ nhất lớn hơn hoặc bằng giá trị cần tìm.
| A | |
|---|---|
| 1 | Mốc giảm dần |
| 2 | 100 |
| 3 | 50 |
| 4 | 20 |
| 5 | 10 |
| 6 | 0 |
| Ô | Công thức | Kết quả | Giải thích |
|---|---|---|---|
| C2 | =MATCH(35;A2:A6;-1) |
2 | Số nhỏ nhất ≥ 35 là 50, ở vị trí 2 |
Ví dụ 4: Tìm bằng dấu đại diện
Khi match_type là 0 và giá trị cần tìm là văn bản, có thể dùng * (thay nhiều chữ bất kỳ) và ? (thay đúng một chữ). MATCH trả về vị trí khớp đầu tiên.
| A | B | |
|---|---|---|
| 1 | Sản phẩm | Giá |
| 2 | Bút | 5000 |
| 3 | Vở | 12000 |
| 4 | Thước | 7000 |
| 5 | Tẩy | 4000 |
| 6 | Kéo | 15000 |
| Ô | Công thức | Kết quả | Giải thích |
|---|---|---|---|
| D2 | =MATCH("T*";A2:A6;0) |
3 | Mục đầu tiên bắt đầu bằng T là Thước |
| D3 | =MATCH("?ở";A2:A6;0) |
2 | Hai chữ, chữ thứ hai là “ở”: Vở |
Ví dụ 5: Kết hợp với INDEX để lấy giá trị
MATCH tìm vị trí, INDEX lấy giá trị ở vị trí đó trong cột Giá.
| A | B | |
|---|---|---|
| 1 | Sản phẩm | Giá |
| 2 | Bút | 5000 |
| 3 | Vở | 12000 |
| 4 | Thước | 7000 |
| 5 | Tẩy | 4000 |
| 6 | Kéo | 15000 |
| Ô | Công thức | Kết quả | Giải thích |
|---|---|---|---|
| D2 | =INDEX(B2:B6;MATCH("Tẩy";A2:A6;0)) |
4.000 | Tẩy ở vị trí 4, giá ở vị trí 4 của cột B là 4.000 |
Lỗi thường gặp với hàm MATCH
| Lỗi | Nguyên nhân | Cách sửa |
|---|---|---|
#N/A |
Không tìm thấy giá trị, hoặc số so với số dạng văn bản, hoặc thừa dấu cách. | Kiểm tra giá trị; dùng TRIM; đưa về cùng kiểu dữ liệu. |
Vị trí sai, không báo lỗi |
Dùng match_type 1 hoặc bỏ trống khi danh sách chưa sắp tăng dần. | Ghi rõ 0 khi cần tìm chính xác. |
Ra số thay vì giá trị |
MATCH luôn trả về vị trí. | Lồng vào INDEX như ví dụ 5. |
#N/A với vùng nhiều cột |
lookup_array có nhiều hàng và nhiều cột. | Chỉ chọn một hàng hoặc một cột. |
MATCH dùng cùng hàm nào?
Cặp hay dùng nhất là INDEX + MATCH: xem bài kết hợp hàm INDEX và MATCH và hướng dẫn hàm INDEX. MATCH không phân biệt chữ hoa, chữ thường. Danh sách hàm khác ở bài các hàm trong Excel.
Tải file Excel mẫu
File mẫu gồm 5 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
MATCH khác VLOOKUP thế nào?
VLOOKUP trả về giá trị ở cột khác; MATCH chỉ trả về vị trí. Vì vậy MATCH thường đi kèm INDEX để lấy giá trị.
MATCH có phân biệt chữ hoa, chữ thường không?
Không. “thước” và “Thước” được coi như nhau.
Nếu có hai giá trị trùng nhau, MATCH trả về vị trí nào?
Với match_type 0, MATCH trả về vị trí của giá trị khớp đầu tiên tính từ đầu vùng.
Xem thêm các thủ thuật khác tại ITGO (thủ thuật máy tính & Excel).



