
Công thức chung
=XLOOKUP(A1,months,XLOOKUP(A2,names,data))
Tóm lược
Để thực hiện tra cứu hai lần với hàm XLOOKUP (một XLOOKUP kép), bạn có thể lồng một XLOOKUP bên trong một XLOOKUP khác. Trong ví dụ được hiển thị, công thức trong H6 là:
=XLOOKUP(H5,months,XLOOKUP(H4,names,data))
trong đó tháng (C4: E4) và tên (B5: B13) và dữ liệu (C5: E13) là các phạm vi được đặt tên.
Giải trình
Một trong những tính năng của XLOOKUP là khả năng tra cứu và trả về toàn bộ hàng hoặc cột. Tính năng này có thể được sử dụng để lồng một XLOOKUP bên trong một XLOOKUP khác để thực hiện tra cứu hai chiều. XLOOKUP bên trong trả về một kết quả cho XLOOKUP bên ngoài, trả về kết quả cuối cùng.
Lưu ý: XLOOKUP thực hiện đối sánh chính xác theo mặc định, do đó, chế độ đối sánh không được đặt.
Làm việc từ trong ra ngoài, XLOOKUP bên trong được sử dụng để truy xuất tất cả dữ liệu cho "Frantz":
XLOOKUP(H4,names,data)
XLOOKUP tìm "Frantz" trong các tên dải ô đã đặt tên (B5: B13). Frantz xuất hiện ở hàng thứ năm, vì vậy XLOOKUP trả về hàng dữ liệu thứ năm (C5: E13). Kết quả là một mảng đại diện cho một hàng dữ liệu cho Frantz, chứa 3 tháng bán hàng:
(10699,5194,10525) // data for Frantz
Mảng này được trả về trực tiếp cho XLOOKUP bên ngoài dưới dạng return_array:
=XLOOKUP(H5,months,(10699,5194,10525))
XLOOKUP bên ngoài tìm giá trị trong H5 ("Mar") bên trong phạm vi tháng được đặt tên (C4: E4). Giá trị "Mar" xuất hiện dưới dạng mặt hàng thứ ba, vì vậy XLOOKUP trả về mặt hàng thứ ba từ dữ liệu bán hàng, giá trị 10525.
Không có phạm vi được đặt tên
Các phạm vi được đặt tên được sử dụng trong ví dụ này chỉ dành cho khả năng đọc. Không có phạm vi được đặt tên, công thức là:
=XLOOKUP(H5,C4:E4,XLOOKUP(H4,B5:B13,C5:E13))
INDEX và MATCH
Ví dụ này có thể được giải quyết bằng INDEX và MATCH như sau:
=INDEX(C5:E13,MATCH(H4,B5:B13,0),MATCH(H5,C4:E4,0))
INDEX và MATCH là một giải pháp tốt cho vấn đề này và có lẽ dễ hiểu hơn đối với hầu hết mọi người. Tuy nhiên, phiên bản XLOOKUP thể hiện sức mạnh và tính linh hoạt của XLOOKUP.