Bản thân tôi thường xuyên có nhu cầu tìm kiếm dữ liệu trong GoogleSheets nên việc dùng thông thạo VLOOKUP/HLOOKUP là điều bắt buộc. Ưu điểm của VLOOKUP là đơn giản, dễ dùng, dễ nhớ, nhưng thỉnh thoảng khi phải hỗ trợ các bạn khác trong team để tìm kiếm dữ liệu trong file Google Sheets dày đặc dữ liệu, thì tôi vẫn phải dùng đến các công cụ khác.

INDEX + MATCH là sự kết hợp tuyệt vời cho việc tìm kiếm dữ liệu trong bảng tính. Có rất nhiều bài viết giải thích cặn kẽ cách dùng, sự khác biệt và ưu nhược điểm của 2 hàm trên. Vd trong blog học excel. Tóm tắt các ưu nhược điểm là:

  • VLOOKUP chỉ dùng để Tìm kiếm từ phải sang trái: nghĩa là giá trị cần tìm phải luôn nằm ở ngoài cùng bên trái của vùng dữ liệu tham chiếu. Cột có giá trị cần tìm luôn được đánh số thứ tự là 1. Để lấy dữ liệu phía bên trái của cột có giá trị tìm kiếm, bạn phải dùng INDEX + MATCH.
  • VLOOKUP sẽ trả kết quả sai khi người dùng chèn thêm cột trong vùng dữ liệu tham chiếu.
  • INDEX + MATCH có thể hỗ trợ nhiều cách dùng cao cấp hơn như tìm kiếm theo nhiều tiêu chí, dùng chung với các hàm khác để tìm Min/Max/Average trong cột, hoặc dùng chung với IfError.
  • Bù lại, vì trí nhớ tôi kém, nhiều khi không nhớ được INDEX hay MATCH cái nào phải đứng trước cái nào, nên tôi luôn ưu tiên sự đơn giản của VLOOKUP trừ khi gặp mấy trường hợp phức tạp nêu trên.

Tôi có vẽ 1 sơ đồ giúp các bạn dễ hình dung ra sự khác biệt của 2 cách tìm kiếm dữ liệu này:

VLookup_vs_IndexMatch.jpg

Bonus: thêm cho các bạn 1 mánh học từ Ben Collins để dùng VLOOKUP tìm sang trái.

Giả sử, giá trị tìm kiếm nằm trong cột B, và bạn muốn lookup sang trái (cột A). Mánh là tạo ra 1 bảng ảo (virtual table) với toán tử {} để sắp xếp lại 2 cột này thành B trước A sau để VLOOKUP vẫn tìm từ trái sang phải như thường.

=VLOOKUP(D2,{$B$1:$B$10,$A$1:$A$10},2,FALSE)

Mánh này biết cho vui thôi, cách này sẽ tạo ra thêm 1 bảng ảo khác, tương đương với việc nhân đôi dữ liệu của bạn. Nếu dữ liệu của bạn nhiều, chắc chắn sẽ rất chậm, tốt nhất là dùng luôn INDEX + MATCH cho nhanh.