Chào các bác, dạo này em đang làm việc với Excel nhiều, đặc biệt là các hàm tra cứu. Em có dùng VLOOKUP và HLOOKUP quen rồi, nhưng gần đây có đọc về hàm XLOOKUP mới của Excel và thấy nó thực sự mạnh mẽ. Em muốn chia sẻ một chút kinh nghiệm và lý do tại sao em nghĩ XLOOKUP nên là lựa chọn hàng đầu thay thế cho 2 hàm cũ.
Trước đây, khi muốn tra cứu theo chiều dọc, ta dùng VLOOKUP, còn tra cứu theo chiều ngang thì dùng HLOOKUP. Tuy nhiên, hai hàm này có nhiều hạn chế:
VLOOKUPchỉ tra cứu từ trái sang phải.HLOOKUPchỉ tra cứu từ trên xuống dưới.- Cả hai đều cần chỉ định cột/hàng trả về bằng số, dễ sai sót khi thêm/bớt cột.
- Cú pháp hơi rườm rà, đặc biệt là tham số
range_lookup.
XLOOKUP khắc phục tất cả những điểm này:
- Linh hoạt: Có thể tra cứu từ trái sang phải, phải sang trái, từ trên xuống dưới, hoặc dưới lên trên.
- Dễ dùng: Chỉ cần xác định vùng cần tra cứu (lookup_array) và vùng kết quả trả về (return_array). Không cần đếm cột/hàng.
- Xử lý lỗi tốt hơn: Có tham số
if_not_foundđể xử lý trường hợp không tìm thấy giá trị, thay vì trả về lỗi#N/Amặc định. - Chế độ tìm kiếm linh hoạt: Cho phép tìm kiếm chính xác, hoặc gần đúng (tương tự
VLOOKUP), thậm chí tìm kiếm từ phần tử cuối cùng về đầu.
Ví dụ đơn giản:
Giả sử bạn có bảng dữ liệu A1:C10, muốn tra mã sản phẩm ở ô E2 trong cột A để lấy tên sản phẩm ở cột B.
Với VLOOKUP:
=VLOOKUP(E2, A1:C10, 2, FALSE)Với XLOOKUP:
=XLOOKUP(E2, A1:A10, B1:B10, "Không tìm thấy", 0)Trong đó:
E2: Giá trị cần tìm.A1:A10: Vùng chứa giá trị cần tìm (cột Mã SP).B1:B10: Vùng chứa kết quả trả về (cột Tên SP)."Không tìm thấy": Giá trị trả về nếu không tìm thấy (tham sốif_not_found).0: Tìm kiếm chính xác (tương đươngFALSEcủaVLOOKUP).
Thật sự là một bước tiến lớn của Excel. Các bác đã dùng thử XLOOKUP chưa? Có mẹo hay nào muốn chia sẻ không ạ?