Chào các bạn, mình là dân văn phòng, ngày nào cũng phải vật lộn với Excel. Dạo này mình hay gặp phải tình huống cần lấy dữ liệu từ một bảng tính mà điều kiện tìm kiếm không nằm ở cột đầu tiên. Ví dụ, mình có một bảng danh sách sản phẩm, muốn tìm giá bán dựa vào mã SKU (không phải cột đầu tiên) chẳng hạn.
Ban đầu mình cũng dùng VLOOKUP nhưng nó chỉ cho phép tìm kiếm ở cột đầu tiên thôi, khá bất tiện. Sau đó, mình có tìm hiểu và biết đến sự kết hợp giữa hàm INDEX và MATCH. Phải nói là nó linh hoạt hơn VLOOKUP rất nhiều!
Cách dùng cơ bản như sau:
=INDEX(Cột_chứa_kết_quả, MATCH(Giá_trị_tìm_kiếm, Cột_chứa_giá_trị_tìm_kiếm, 0))Giải thích một chút:
Cột_chứa_kết_quả: Là cột mà bạn muốn lấy dữ liệu từ đó (ví dụ: cột giá bán).Giá_trị_tìm_kiếm: Là giá trị bạn muốn tìm (ví dụ: mã SKU bạn đang có).Cột_chứa_giá_trị_tìm_kiếm: Là cột chứa giá trị tìm kiếm (ví dụ: cột mã SKU trong bảng dữ liệu). Số0ở cuối cùng nghĩa là tìm kiếm chính xác.
Ví dụ cụ thể:
Giả sử bạn có bảng dữ liệu từ A1:C10, cột A là Mã SP, cột B là Tên SP, cột C là Giá SP. Bạn muốn tìm Giá SP khi biết Mã SP nằm ở ô E2.
Công thức sẽ là:
=INDEX(C:C, MATCH(E2, A:A, 0))Hoặc nếu bạn muốn tìm Giá SP dựa vào Tên SP (cột B) thì:
=INDEX(C:C, MATCH(E2, B:B, 0))Ưu điểm của cách này là bạn có thể lấy dữ liệu từ bất kỳ cột nào, miễn là bạn chỉ định đúng cột chứa kết quả và cột chứa điều kiện tìm kiếm. Nó cũng xử lý tốt khi bạn chèn thêm cột vào bảng dữ liệu mà không cần sửa lại công thức.
Không biết có bạn nào có cách dùng hay hơn hoặc có mẹo gì về cặp đôi INDEX-MATCH này không, chia sẻ cho mọi người với nhé!