[Excel Tutorial] Hướng dẫn hàm INDEX và MATCH trong Excel

Hàm INDEX và MATCH trong Excel là bộ đôi công thức tra cứu dữ liệu linh hoạt hàng đầu, giúp bạn tìm kiếm thông tin theo cả chiều ngang lẫn chiều dọc mà không bị giới hạn từ phải sang trái như VLOOKUP. Khi kết hợp hàm MATCH để tìm vị trí và hàm INDEX để lấy giá trị, bạn sẽ có một giải pháp tra cứu tự động, chính xác ngay cả trên các bảng dữ liệu lớn hoặc khi cấu trúc cột thay đổi.

Bài viết này, Starttrain sẽ hướng dẫn bạn chi tiết từ cú pháp cơ bản đến cách dùng hàm INDEX và MATCH qua ví dụ thực hành từng bước trực quan.

Cú pháp hàm INDEX và MATCH

Cú pháp hàm INDEX

=INDEX(array, row_num, [column_num])

Trong đó:

  • array (Bắt buộc): Vùng dữ liệu chứa giá trị bạn muốn lấy.
  • row_num (Bắt buộc): Số hàng trong mảng chứa giá trị cần tra cứu.
  • column_num (Tùy chọn): Số cột trong mảng chứa giá trị cần tra cứu. Nếu mảng chỉ có 1 cột, bạn có thể bỏ qua tham số này.

Cú pháp hàm MATCH

=MATCH(lookup_value, lookup_array, [MATCH_type])

Trong đó:

  • lookup_value (Bắt buộc): Giá trị cần tìm kiếm.
  • lookup_array (Bắt buộc): Vùng chứa giá trị tìm kiếm (chỉ chọn 1 hàng hoặc 1 cột).
  • MATCH_type (Tùy chọn): Kiểu tìm kiếm. Nhập 0 để tìm kiếm chính xác 100% (thường dùng nhất).

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

  • Công thức tra cứu 1 chiều (chỉ tìm hàng): =INDEX(vung_lay_ket_qua, MATCH(gia_tri_tim, vung_tim_kiem, 0))
  • Công thức tra cứu 2 chiều (tìm cả hàng và cột): =INDEX(bang_du_lieu, MATCH(gia_tri_tim_hang, vung_tim_hang, 0), MATCH(gia_tri_tim_cot, vung_tim_cot, 0))

Ví dụ minh họa cách dùng hàm INDEX và MATCH

Chuẩn bị dữ liệu

Bảng dữ liệu bên trái (A1:D11) chứa danh mục sản phẩm gồm các cột: Mã SP, Tên SP, Đơn giá, Danh mục. Bảng bên phải (H2:K5) cần tra cứu các thông tin Tên SP, Danh mục, Đơn giá dựa theo các Mã SP cho trước (P005, P010, P003).

hàm INDEX và MATCH

Minh họa cách hàm INDEX hoạt động

Tại ô I7, nhập công thức =INDEX(a1:d11, 6, 2). Công thức yêu cầu lấy giá trị ở hàng 6, cột 2 trong mảng A1:D11.

hàm INDEX và MATCH

Kết quả trả về là “Loa Bluetooth”. Tuy nhiên, việc điền cố định hàng 6 và cột 2 khiến công thức không thể tự động hóa cho các mã sản phẩm khác. Chúng ta cần dùng hàm MATCH để tìm hàng và cột tự động.

hàm INDEX và MATCH

Xác định vị trí bằng hàm MATCH

Tại ô I8, nhập công thức =MATCH(i2, a1:a11, 0) để xác định vị trí của Mã SP “P005” (ô I2) nằm ở hàng thứ mấy trong vùng A1:A11.

hàm INDEX và MATCH

Kết quả trả về là 6, tương ứng chính xác với số hàng chứa Mã SP “P005”.

hàm INDEX và MATCH

Tại ô I9, nhập công thức =MATCH(h3, a1:d1, 0). Hàm sẽ tìm vị trí của chữ “Tên SP” (ô H3) trong hàng tiêu đề A1:D1 và trả về vị trí cột là 2.

hàm INDEX và MATCH

Kết hợp hàm INDEX và MATCH

Tại ô I3, nhập công thức kết hợp 2 chiều: =INDEX($a$1:$d$11, MATCH(i$2, $a$1:$a$11, 0), MATCH($h3, $a$1:$d$1, 0))

Lưu ý về cách cố định địa chỉ ô để copy công thức:

  • $a$1:$d$11: Cố định mảng dữ liệu gốc.
  • i$2: Cố định hàng 2 để giữ nguyên dòng chứa Mã SP khi kéo công thức xuống.
  • $a$1:$a$11: Cố định cột chứa Mã SP.
  • $h3: Cố định cột H để giữ nguyên tên tiêu đề tra cứu khi kéo công thức sang phải.
  • $a$1:$d$1: Cố định hàng tiêu đề.

hàm INDEX và MATCH

Nhấn Enter, ô I3 tự động trả về giá trị “Loa Bluetooth”.

hàm INDEX và MATCH

Kéo copy công thức từ ô I3 ra toàn bộ vùng I3:K5. Các ô còn lại tự động cập nhật chính xác Tên SP, Danh mục và Đơn giá cho tất cả các Mã SP.

hàm INDEX và MATCH

Khi nào cần sử dụng hàm INDEX và MATCH

Hàm INDEX

Hàm INDEX đóng vai trò như một công cụ định vị tọa độ trong Excel. Nhiệm vụ cốt lõi của hàm INDEX là truy xuất giá trị của một ô nằm tại giao điểm giữa một hàng và một cột xác định trong mảng cho trước.

Nên sử dụng hàm INDEX độc lập khi:

  • Đã biết sẵn số thứ tự dòng và cột chứa dữ liệu cần truy xuất trong bảng.
  • Cần trích xuất dữ liệu từ một dải ô dựa trên tọa độ động do các phép tính khác trả về.

Hàm MATCH

Hàm MATCH hoạt động như một công cụ tìm kiếm vị trí. Hàm MATCH tìm một giá trị cụ thể (lookup_value) trong một hàng hoặc một cột (lookup_array) và trả về số thứ tự tương đối của giá trị đó dưới dạng một con số.

Nên sử dụng hàm MATCH độc lập khi:

  • Cần xác định vị trí dòng hoặc cột của một đối tượng cụ thể trong danh sách.
  • Cần lấy chỉ số vị trí để làm tham số đầu vào cho các hàm tính toán khác như offset, choose hoặc INDEX.

Khi nào nên kết hợp bộ đôi hàm INDEX và MATCH?

Khi lồng ghép hàm MATCH vào vị trí tham số hàng hoặc cột của hàm INDEX, hàm MATCH sẽ tự động dò tìm vị trí chính xác và trả về số hàng/cột tương ứng. Hàm INDEX lập tức nhận dữ liệu này để rút ra giá trị kết quả cuối cùng.

Nên ưu tiên kết hợp hàm INDEX và MATCH trong các trường hợp thực tế sau:

  • Hàm vlookup chỉ hỗ trợ tìm từ trái sang phải. Nếu cột điều kiện nằm ở bên phải cột chứa kết quả cần lấy, bộ đôi INDEX và MATCH lúc này sẽ là lựa chọn tối ưu.
  • Việc chèn thêm hoặc xóa cột trong báo cáo động sẽ khiến VLOOKUP trả về sai kết quả do số thứ tự cột bị cố định. Kết hợp INDEX và MATCH giải quyết vấn đề này nhờ khả năng chiếu vị trí tự động.

So sánh cách dùng hàm INDEX và MATCH với các hàm tra cứu khác

Tiêu chíVLOOKUPINDEX & MATCHXLOOKUP
Hướng tìm kiếmChỉ từ trái sang phảiMọi hướngMọi hướng
An toàn khi chèn cộtDễ bị lỗi công thứcAn toànAn toàn
Độ tương thíchMọi phiên bản ExcelMọi phiên bản ExcelChỉ có từ Excel 2021/365
Độ phức tạp cú phápĐơn giảnTrung bìnhĐơn giản

INDEX và MATCH là một trong nhiều hàm Excel được sử dụng phổ biến trong công việc.

[FAQ] Một số câu hỏi thường gặp về cách dùng hàm INDEX và MATCH

Làm sao để dùng hàm INDEX và MATCH tra cứu theo nhiều điều kiện cùng lúc?

Bạn hoàn toàn có thể tra cứu dữ liệu theo 2 hoặc nhiều điều kiện bằng cách kết hợp công thức mảng:

=index(vung_lay_ket_qua, match(1, (dieu_kien_1=vung_dieu_kien_1)*(dieu_kien_2=vung_dieu_kien_2), 0))

Cách này giúp bạn tìm kiếm thông tin chính xác khi một điều kiện đơn lẻ không đủ để xác định đối tượng duy nhất.

Hàm INDEX MATCH có trả về được tất cả các kết quả trùng lặp không?

Mặc định, hàm match chỉ trả về vị trí khớp đầu tiên tìm thấy từ trên xuống dưới. Nếu bạn muốn trích xuất toàn bộ danh sách kết quả trùng lặp:

  • Với Excel 365/Excel 2021: Nên sử dụng hàm filter để thao tác đơn giản hơn.
  • Với các phiên bản Excel cũ: Bạn cần lồng ghép bộ ba hàm index, small và if dưới dạng công thức mảng.

Tại sao bộ đôi hàm INDEX MATCH lại xử lý dữ liệu nhanh hơn VLOOKUP trên các file lớn?

Hàm vlookup bắt buộc phải quét và lưu giữ trong bộ nhớ toàn bộ mảng dữ liệu chứa cả cột điều kiện và cột kết quả. Trong khi đó, bộ đôi index match chỉ quét đúng 2 dải ô đơn lẻ. Điều này giúp giảm tải bộ nhớ RAM, tối ưu tốc độ tính toán và tránh bị đơ/lag file Excel.

Tổng kết

Bộ đôi hàm INDEX và MATCH là công cụ xử lý dữ liệu mạnh mẽ, khắc phục triệt để các hạn chế cố hữu của VLOOKUP. Việc nắm vững cách dùng hàm INDEX và MATCH không chỉ giúp bạn làm việc linh hoạt trên các bảng dữ liệu lớn mà còn đảm bảo tính chính xác cho các báo cáo động trong Excel.

Để xem thêm nhiều kỹ thuật xử lý hàm Excel nâng cao và mẹo Excel thực chiến, bạn có thể tham khảo Thư viện tự học Phân tích Dữ liệu miễn phí hoặc tham gia Khóa học Excel nâng cao: Phân tích Dữ liệu & Thiết kế Dashboard để làm chủ trọn bộ quy trình xử lý data và báo cáo chuyên nghiệp tại Starttrain.

Form - đọc sách
Form - Single Report Template

Vui lòng liên hệ qua những thông tin bên dưới. Starttrain sẽ phản hồi bạn trong thời gian sớm nhất.

Form Dashboard service