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 INDEX và MATCH 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, INDEX và MATCH sẽ phát huy tác dụng.
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ố0nghĩ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àMATCHvừ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é!