
Công thức chung
=XLOOKUP(1,(rng1="red")*(rng2>100),results)
Tóm lược
Để sử dụng XLOOKUP với nhiều lôgic, hãy xây dựng biểu thức với lôgic boolean và sau đó tìm số 1. Trong ví dụ, XLOOKUP được sử dụng để tra cứu lần bán hàng đầu tiên cho Chicago trên $ 250. Công thức trong G6 là:
=XLOOKUP(1,(D5:D14="chicago")*(E5:E14>250),B5:B14)
trả về 0347, số thứ tự của bản ghi đầu tiên đáp ứng tiêu chí được cung cấp.
Lưu ý XLOOKUP không phân biệt chữ hoa chữ thường.
Giải trình
XLOOKUP có thể xử lý mảng nguyên bản, điều này làm cho nó trở thành một hàm rất hữu ích khi xây dựng tiêu chí dựa trên nhiều biểu thức logic.
Trong ví dụ được hiển thị, chúng tôi đang tìm số thứ tự của đơn hàng đầu tiên đến Chicago trên $ 250. Chúng tôi đang xây dựng một mảng tra cứu bằng cách sử dụng biểu thức và logic boolean sau:
(D5:D14="chicago")*(E5:E14>250)
Khi biểu thức này được đánh giá, trước tiên chúng ta nhận được hai mảng giá trị TRUE FALSE như sau:
(FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE)* (FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE)
Khi hai mảng được nhân với nhau, phép toán cho kết quả là một mảng gồm 1 và 0 như sau:
(0;0;0;0;0;0;0;1;0;0)
Bây giờ chúng tôi có công thức sau và bạn có thể thấy lý do tại sao chúng tôi sử dụng 1 cho giá trị tra cứu:
=XLOOKUP(1,(0;0;0;0;0;0;0;1;0;0),B5:B14)
XLOOKUP khớp với giá trị 1 ở vị trí thứ 8 và trả về giá trị thứ 8 tương ứng từ B5: B14, là 0347.
Với một tiêu chí duy nhất
Như đã thấy ở trên, các phép toán tự động ép buộc các giá trị TRUE và FALSE thành 1 và 0. Do đó, khi sử dụng nhiều biểu thức, giá trị tra cứu là 1 có ý nghĩa. Trong trường hợp bạn chỉ có một tiêu chí duy nhất, chẳng hạn như "số tiền> 250", bạn có thể tìm ĐÚNG thay thế như sau:
=XLOOKUP(TRUE,E5:E14>250,B5:B14)
Ngoài ra, bạn có thể buộc các giá trị TRUE FALSE thành 1 và 0, và sử dụng 1 như thế này.
=XLOOKUP(1,--(E5:E14>250),B5:B14)