Công thức Excel: XLOOKUP với boolean HOẶC logic -

Công thức chung

=XLOOKUP(1,boolean_expression,data)

Tóm lược

Để định cấu hình XLOOKUP với logic boolean OR, hãy sử dụng giá trị tra cứu bằng 1 với biểu thức logic dựa trên phép cộng. Trong ví dụ được hiển thị, công thức trong G5 là:

=XLOOKUP(1,(data(Color)="red")+(data(Color)="pink"),data)

trong đó "dữ liệu" là tên của Bảng Excel ở bên trái.

Giải trình

Giá trị tra cứu được cung cấp là 1, vì các lý do sẽ trở nên rõ ràng bên dưới. Đối với mảng tra cứu, chúng tôi sử dụng một biểu thức dựa trên logic boolean:

(data(Color)="red")+(data(Color)="pink")

Trong thế giới của Đại số boolean, logic AND tương ứng với phép nhân (*) và logic OR tương ứng với phép cộng (+). Bởi vì chúng tôi muốn logic HOẶC, chúng tôi sử dụng phép cộng trong trường hợp này. Lưu ý rằng Excel không phân biệt chữ hoa chữ thường, vì vậy chúng ta không cần viết hoa các màu.

Sau khi biểu thức được đánh giá, chúng ta có hai mảng giá trị TRUE và FALSE như sau:

(FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)+ (FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE)

Lưu ý, trong mảng đầu tiên, các giá trị TRUE tương ứng với "màu đỏ". Trong mảng thứ hai, các giá trị TRUE tương ứng với "màu hồng".

Phép toán cộng các mảng này với nhau sẽ chuyển đổi các giá trị TRUE và FALSE thành 1s và 0, và dẫn đến một mảng mới chỉ bao gồm 1s và 0s:

(0;0;1;0;1;0;0;0;0;1)

Lưu ý các số 1 trong mảng này tương ứng với các hàng có màu "đỏ" hoặc "hồng".

Bây giờ chúng ta có thể viết lại công thức dưới dạng:

=XLOOKUP(1,(0;0;1;0;1;0;0;0;0;1),data)

Số 1 đầu tiên trong mảng tra cứu tương ứng với hàng ba của dữ liệu, trong đó màu là "đỏ". Vì XLOOKUP theo mặc định sẽ trả về kết quả phù hợp đầu tiên và vì toàn bộ "dữ liệu" của bảng được cung cấp dưới dạng mảng trả về, nên XLOOKUP trả về hàng thứ ba là kết quả cuối cùng.

thú vị bài viết...