
Общая формула
=XLOOKUP(1,boolean_expression,data)
Резюме
Чтобы настроить XLOOKUP с помощью логической логики ИЛИ, используйте значение поиска 1 с логическим выражением, основанным на сложении. В показанном примере формула в G5:
=XLOOKUP(1,(data(Color)="red")+(data(Color)="pink"),data)
где «данные» - это имя таблицы Excel слева.
Объяснение
Значение подстановки представлено как 1 по причинам, которые станут понятны ниже. Для массива поиска мы используем выражение, основанное на логической логике:
(data(Color)="red")+(data(Color)="pink")
В мире булевой алгебры логика И соответствует умножению (*), а логика ИЛИ соответствует сложению (+). Поскольку нам нужна логика ИЛИ, в этом случае мы используем сложение. Обратите внимание, что в Excel регистр не учитывается, поэтому нам не нужно использовать цвета с заглавной буквы.
После вычисления выражения у нас есть два массива значений TRUE и FALSE, например:
(FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE)+ (FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE)
Обратите внимание, что в первом массиве значения ИСТИНА соответствуют «красному». Во втором массиве значения ИСТИНА соответствуют «розовому».
Математическая операция сложения этих массивов вместе преобразует значения ИСТИНА и ЛОЖЬ в единицы и нули, и в результате получается новый массив, состоящий только из единиц и нулей:
(0;0;1;0;1;0;0;0;0;1)
Обратите внимание, что единицы в этом массиве соответствуют строкам, в которых цвет либо «красный», либо «розовый».
Теперь мы можем переписать формулу как:
=XLOOKUP(1,(0;0;1;0;1;0;0;0;0;1),data)
Первая 1 в поисковом массиве соответствует третьей строке данных, цвет которой - «красный». Поскольку XLOOKUP по умолчанию возвращает первое совпадение, и поскольку вся таблица «data» предоставляется как возвращаемый массив, XLOOKUP возвращает третью строку в качестве окончательного результата.