Hàm INDEX trong Excel trả về giá trị nằm ở một vị trí cho trước trong vùng dữ liệu, xác định bằng số thứ tự hàng và cột. Ví dụ INDEX(A2:C6;3;1) lấy ô ở hàng 3, cột 1 của vùng. INDEX hay đi cùng MATCH để tra cứu linh hoạt mà không phụ thuộc vị trí cột như VLOOKUP.
Ví dụ nhanh: =INDEX(A2:C6;3;1) → Chi (hàng 3, cột 1 của bảng ví dụ)
Nguồn: tài liệu hàm INDEX 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 INDEX (dạng mảng)
Bài này dùng dạng mảng của INDEX, dạng phổ biến nhất. Hàng và cột đếm từ 1 tính trong vùng bạn chọn, không phải theo số hàng của trang tính.
=INDEX(array; row_num; [column_num])
| Đối số | Bắt buộc? | Ý nghĩa |
|---|---|---|
array |
Có | Vùng ô hoặc mảng hằng. |
row_num |
Có* | Thứ tự hàng trong vùng. Bằng 0 thì trả về cả cột (khi có column_num). |
column_num |
Không | Thứ tự cột trong vùng; bỏ trống khi vùng chỉ có một cột. Bằng 0 thì trả về cả hàng. |
Ví dụ 1: Lấy ô theo hàng và cột
Bảng điểm ở A1:C6. Vùng A2:C6 có 5 hàng, 3 cột.
| A | B | C | |
|---|---|---|---|
| 1 | Tên | Lớp | Điểm |
| 2 | An | 10A1 | 8 |
| 3 | Bình | 10A2 | 6 |
| 4 | Chi | 10A1 | 9 |
| 5 | Dũng | 10A3 | 7 |
| 6 | Hà | 10A2 | 10 |
| Ô | Công thức | Kết quả | Giải thích |
|---|---|---|---|
| E2 | =INDEX(A2:C6;3;1) |
Chi | Hàng 3, cột 1: tên |
| E3 | =INDEX(A2:C6;3;3) |
9 | Hàng 3, cột 3: điểm của Chi |
| E4 | =INDEX(A2:C6;2;2) |
10A2 | Hàng 2, cột 2: lớp của Bình |
Ví dụ 2: Vùng một cột chỉ cần số hàng
Khi vùng chỉ có một cột, bỏ trống column_num.
| A | B | C | |
|---|---|---|---|
| 1 | Tên | Lớp | Điểm |
| 2 | An | 10A1 | 8 |
| 3 | Bình | 10A2 | 6 |
| 4 | Chi | 10A1 | 9 |
| 5 | Dũng | 10A3 | 7 |
| 6 | Hà | 10A2 | 10 |
| Ô | Công thức | Kết quả | Giải thích |
|---|---|---|---|
| E2 | =INDEX(C2:C6;5) |
10 | Điểm thứ 5 trong cột: Hà |
| E3 | =INDEX(A2:A6;1) |
An | Tên đầu tiên |

Ví dụ 3: Lấy cả cột rồi tính tổng
row_num bằng 0 trả về toàn bộ cột thứ 3; bọc trong SUM để cộng cả cột.
| A | B | C | |
|---|---|---|---|
| 1 | Tên | Lớp | Điểm |
| 2 | An | 10A1 | 8 |
| 3 | Bình | 10A2 | 6 |
| 4 | Chi | 10A1 | 9 |
| 5 | Dũng | 10A3 | 7 |
| 6 | Hà | 10A2 | 10 |
| Ô | Công thức | Kết quả | Giải thích |
|---|---|---|---|
| E2 | =SUM(INDEX(A2:C6;0;3)) |
40 | 8 + 6 + 9 + 7 + 10 |
Ví dụ 4: Kết hợp MATCH để tra theo tên
MATCH tìm vị trí của “Dũng”, INDEX lấy điểm ở vị trí đó.
| A | B | C | |
|---|---|---|---|
| 1 | Tên | Lớp | Điểm |
| 2 | An | 10A1 | 8 |
| 3 | Bình | 10A2 | 6 |
| 4 | Chi | 10A1 | 9 |
| 5 | Dũng | 10A3 | 7 |
| 6 | Hà | 10A2 | 10 |
| Ô | Công thức | Kết quả | Giải thích |
|---|---|---|---|
| E2 | =INDEX(C2:C6;MATCH("Dũng";A2:A6;0)) |
7 | Dũng ở vị trí 4, điểm thứ 4 là 7 |
Ví dụ 5: Lấy giá trị cuối cùng của cột
COUNTA đếm số ô có dữ liệu, INDEX lấy ô ở vị trí cuối cùng đó; công thức tự cập nhật khi thêm dòng liền bên dưới.
| A | B | C | |
|---|---|---|---|
| 1 | Tên | Lớp | Điểm |
| 2 | An | 10A1 | 8 |
| 3 | Bình | 10A2 | 6 |
| 4 | Chi | 10A1 | 9 |
| 5 | Dũng | 10A3 | 7 |
| 6 | Hà | 10A2 | 10 |
| Ô | Công thức | Kết quả | Giải thích |
|---|---|---|---|
| E2 | =INDEX(C2:C6;COUNTA(C2:C6)) |
10 | 5 ô có dữ liệu, ô thứ 5 là 10 |
Lỗi thường gặp với hàm INDEX
| Lỗi | Nguyên nhân | Cách sửa |
|---|---|---|
#REF! |
row_num hoặc column_num vượt quá số hàng, số cột của vùng. | Kiểm tra kích thước vùng; dùng ROWS, COLUMNS để biết số hàng, cột. |
#VALUE! |
row_num hoặc column_num là chữ hoặc số âm. | Dùng số nguyên từ 0 trở lên. |
Kết quả lệch một dòng |
Đếm vị trí theo số hàng trang tính thay vì tính trong vùng. | Vị trí 1 là dòng đầu tiên của vùng (ví dụ A2), không phải dòng 1 của trang. |
#N/A khi lồng MATCH |
MATCH không tìm thấy giá trị. | Xem bài hàm MATCH; bọc trong IFERROR. |
INDEX dùng cùng hàm nào?
INDEX thường kết hợp hàm MATCH để tra cứu hai chiều, xem chi tiết trong bài kết hợp INDEX và MATCH. 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
INDEX khác VLOOKUP thế nào?
VLOOKUP tìm theo giá trị ở cột đầu; INDEX lấy theo vị trí. Kết hợp INDEX với MATCH thì tra được cả cột bên trái, điều VLOOKUP không làm được.
INDEX có trả về được nhiều ô không?
Có. Đặt row_num hoặc column_num bằng 0 để lấy cả cột hoặc cả hàng, thường dùng bên trong SUM, AVERAGE.
Hàm INDEX có mấy dạng?
Hai dạng: dạng mảng (trong bài này) và dạng tham chiếu, cho phép chọn một trong nhiều vùng bằng đối số area_num.
Xem thêm các thủ thuật khác tại thủ thuật máy tính & Excel của ITGO.



