Menu

Bí kíp sử dụng hàm INDEX và MATCH thay thế VLOOKUP hiệu quả

Phạm Thúy Tú 10/03/2026 17:44 386 lượt xem 3 trả lời

Chào các bạn, hôm nay mình muốn chia sẻ một mẹo nhỏ nhưng cực kỳ hữu ích cho những ai thường xuyên làm việc với Excel, đó là sử dụng cặp hàm INDEXMATCH thay cho VLOOKUP truyền thống. Nhiều bạn có thể đã biết đến cặp hàm này, nhưng hôm nay mình sẽ đi sâu hơn một chút về lý do tại sao nó lại được ưa chuộng hơn.

Như chúng ta đều biết, VLOOKUP có một hạn chế lớn là chỉ có thể tra cứu theo chiều từ trái sang phải. Điều này gây ra không ít bất tiện khi dữ liệu của bạn được sắp xếp theo chiều ngược lại. Lúc này, INDEXMATCH sẽ phát huy tác dụng.

Cấu trúc cơ bản:
INDEX(array, row_num, [column_num])
MATCH(lookup_value, lookup_array, [match_type])

Về cơ bản, MATCH sẽ tìm vị trí (số thứ tự hàng hoặc cột) của giá trị bạn cần tìm trong một mảng, còn INDEX sẽ trả về giá trị tại vị trí đó trong một mảng khác.

Ví dụ minh họa:

Giả sử bạn có bảng dữ liệu với cột Mã SP ở bên phải và cột Tên SP ở bên trái, và bạn muốn tìm Tên SP dựa vào Mã SP. Với VLOOKUP sẽ rất khó khăn, nhưng với INDEX-MATCH thì lại đơn giản:

Giả sử Mã SP ở cột C, Tên SP ở cột B, và bạn cần tìm Tên SP với Mã SP cho trước ở ô E2.

=INDEX(B:B, MATCH(E2, C:C, 0))

Ở đây:

  • MATCH(E2, C:C, 0): Tìm vị trí của Mã SP trong cột C (cột chứa Mã SP). Số 0 nghĩa là tìm chính xác.
  • INDEX(B:B, ...): Lấy giá trị trong cột B (cột Tên SP) tại đúng vị trí mà MATCH vừa tìm được.

Ưu điểm của cách này là:

  • Linh hoạt hơn VLOOKUP, có thể tra cứu mọi chiều.
  • Hiệu suất xử lý tốt hơn với các file dữ liệu lớn.
  • Dễ dàng mở rộng khi thêm cột.

Hy vọng chia sẻ này giúp ích cho các bạn. Nếu có câu hỏi hoặc cách làm hay hơn, đừng ngần ngại chia sẻ nhé!

4

Tuyệt vời! Bài viết của bạn rất hữu ích, đúng là cặp đôi INDEX-MATCH này "cứu cánh" không ít lần khi VLOOKUP bó tay.

Mình cũng hay dùng INDEX-MATCH khi cần tra cứu ngược hoặc khi cột tra cứu không nằm ở vị trí đầu tiên. Bạn có thể chia sẻ thêm ví dụ cụ thể về trường hợp cần tra cứu ngược dữ liệu mà VLOOKUP không làm được không? Mình tò mò muốn xem rõ hơn.

3

Đúng là INDEX-MATCH có nhiều ưu điểm vượt trội so với VLOOKUP, nhất là khi xử lý các bảng dữ liệu lớn hoặc phức tạp. Mình cũng rất đồng ý với bạn về việc tra cứu ngược là một điểm cộng lớn.

Nhân tiện đây, mình cũng muốn chia sẻ thêm một trường hợp mà INDEX-MATCH phát huy tác dụng: khi bạn muốn tra cứu dựa trên nhiều điều kiện cùng lúc. VLOOKUP thông thường sẽ phải kết hợp thêm các hàm khác để làm được điều này, còn INDEX-MATCH thì linh hoạt hơn nhiều.

Bạn có thể cho mình biết thêm về cách bạn áp dụng INDEX-MATCH khi bảng dữ liệu có nhiều cột và bạn muốn lấy giá trị từ một cột bất kỳ, không nhất thiết phải là cột cuối cùng không? Mình nghĩ đó cũng là một tình huống khá phổ biến.

5

Mình cũng gặp tình huống tương tự với VLOOKUP và đã chuyển sang INDEX-MATCH. Đúng là nó linh hoạt hơn hẳn, đặc biệt là khi cần tra cứu ngược hoặc khi cột cần lấy dữ liệu nằm ở bên trái cột tra cứu.

Bạn có thể chia sẻ thêm về cách bạn xử lý trường hợp bảng dữ liệu rất lớn, có hàng chục nghìn dòng không? Liệu INDEX-MATCH có chậm hơn VLOOKUP trong trường hợp này không, hay ngược lại?

5

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký