Chào các bạn trong diễn đàn Sheet & Excel,
Dạo gần đây mình có làm việc với một file Excel khá lớn và gặp nhiều trường hợp VLOOKUP/HLOOKUP không đáp ứng được nhu cầu, đặc biệt là khi cần tra cứu ở cột bên trái hoặc khi dữ liệu có nhiều cột. Sau khi tìm hiểu, mình phát hiện ra sự kết hợp giữa INDEX và MATCH là một giải pháp vô cùng mạnh mẽ và linh hoạt.
Nhiều bạn có thể đã biết đến cặp đôi này, nhưng hôm nay mình muốn chia sẻ lại một cách chi tiết hơn, đặc biệt là cho những ai còn đang loay hoay với VLOOKUP/HLOOKUP.
Tại sao nên dùng INDEX và MATCH?
- Linh hoạt hơn VLOOKUP/HLOOKUP: Có thể tra cứu sang trái, tra cứu theo hàng hoặc theo cột.
- Hiệu suất tốt hơn với file lớn: Trong nhiều trường hợp, INDEX/MATCH xử lý nhanh hơn VLOOKUP.
- Ít bị lỗi hơn: Khi thêm hoặc xóa cột, công thức INDEX/MATCH ít bị ảnh hưởng hơn so với VLOOKUP.
Cách thức hoạt động:
Về cơ bản, hàm MATCH sẽ tìm vị trí (số thứ tự hàng hoặc cột) của giá trị bạn cần tra cứu trong một phạm vi cho trước. Sau đó, hàm INDEX sẽ sử dụng vị trí đó để trả về giá trị tương ứng trong một phạm vi khác.
Cú pháp:
=INDEX(mảng_trả_về, MATCH(giá_trị_tra_cứu, mảng_tìm_kiếm, [kiểu_khớp]))
Ví dụ:
Giả sử bạn có bảng dữ liệu nhân viên, muốn tìm tên nhân viên dựa vào Mã NV. Mã NV nằm ở cột A, Tên NV ở cột B.
=INDEX(B2:B100, MATCH(E2, A2:A100, 0))
Trong đó:
B2:B100là vùng chứa tên nhân viên (mảng trả về).E2là ô chứa Mã NV bạn muốn tra cứu.A2:A100là vùng chứa Mã NV (mảng tìm kiếm).0là kiểu khớp chính xác.
Hy vọng chia sẻ này hữu ích cho các bạn. Nếu có thắc mắc hoặc có cách dùng nào hay hơn, đừng ngần ngại để lại bình luận bên dưới nhé!