
Общая формула
=XLOOKUP(1,(rng1="red")*(rng2>100),results)
Резюме
Чтобы использовать XLOOKUP с несколькими логическими, создайте выражения с логической логикой и затем найдите число 1. В примере XLOOKUP используется для поиска первой продажи в Чикаго на сумму более 250 долларов. Формула в G6:
=XLOOKUP(1,(D5:D14="chicago")*(E5:E14>250),B5:B14)
который возвращает 0347, порядковый номер первой записи, которая соответствует заданным критериям.
Примечание. XLOOKUP не чувствителен к регистру.
Объяснение
XLOOKUP может обрабатывать массивы изначально, что делает его очень полезной функцией при построении критериев на основе нескольких логических выражений.
В показанном примере мы ищем порядковый номер первого заказа до Чикаго на сумму более 250 долларов. Мы создаем поисковый массив, используя следующее выражение и логическую логику:
(D5:D14="chicago")*(E5:E14>250)
Когда это выражение оценивается, мы сначала получаем два массива значений ИСТИНА ЛОЖЬ, например:
(FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE)* (FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE)
Когда два массива умножаются друг на друга, математическая операция приводит к единому массиву из единиц и нулей следующим образом:
(0;0;0;0;0;0;0;1;0;0)
Теперь у нас есть следующая формула, и вы можете понять, почему мы используем 1 в качестве значения поиска:
=XLOOKUP(1,(0;0;0;0;0;0;0;1;0;0),B5:B14)
XLOOKUP соответствует 1 в 8-й позиции и возвращает соответствующее 8-е значение из B5: B14, то есть 0347.
По единым критериям
Как видно выше, математические операции автоматически приводят значения ИСТИНА и ЛОЖЬ к 1 и 0. Следовательно, при использовании нескольких выражений значение поиска 1 имеет смысл. В случаях, когда у вас есть только один критерий, скажем, «сумма> 250», вы можете искать ИСТИНА следующим образом:
=XLOOKUP(TRUE,E5:E14>250,B5:B14)
В качестве альтернативы вы можете принудительно установить значения TRUE FALSE на 1 и 0 и использовать 1, как это.
=XLOOKUP(1,--(E5:E14>250),B5:B14)