
Fórmula genérica
=XLOOKUP(1,(rng1="red")*(rng2>100),results)
Resumo
Para usar XLOOKUP com múltiplas expressões lógicas, construa expressões com lógica booleana e, a seguir, procure o número 1. No exemplo, XLOOKUP é usado para pesquisar a primeira venda para Chicago acima de $ 250. A fórmula em G6 é:
=XLOOKUP(1,(D5:D14="chicago")*(E5:E14>250),B5:B14)
que retorna 0347, o número do pedido do primeiro registro que atende aos critérios fornecidos.
Observação XLOOKUP não diferencia maiúsculas de minúsculas.
Explicação
XLOOKUP pode manipular matrizes nativamente, o que o torna uma função muito útil ao construir critérios baseados em múltiplas expressões lógicas.
No exemplo mostrado, estamos procurando o número do pedido do primeiro pedido para Chicago acima de $ 250. Estamos construindo uma matriz de pesquisa usando a seguinte expressão e lógica booleana:
(D5:D14="chicago")*(E5:E14>250)
Quando esta expressão é avaliada, primeiro obtemos duas matrizes de valores TRUE FALSE como este:
(FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;TRUE;FALSE;FALSE)* (FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;FALSE;TRUE;FALSE;FALSE)
Quando os dois arrays são multiplicados um pelo outro, a operação matemática resulta em um único array de 1s e 0s como este:
(0;0;0;0;0;0;0;1;0;0)
Agora temos a seguinte fórmula e você pode ver por que estamos usando 1 para o valor de pesquisa:
=XLOOKUP(1,(0;0;0;0;0;0;0;1;0;0),B5:B14)
XLOOKUP corresponde ao 1 na 8ª posição e retorna o 8º valor correspondente de B5: B14, que é 0347.
Com um único critério
Como visto acima, as operações matemáticas forçam automaticamente os valores TRUE e FALSE para 1's e 0's. Portanto, ao usar várias expressões, um valor de pesquisa de 1 faz sentido. Nos casos em que você tem apenas um único critério, digamos, "valor> 250", você pode procurar VERDADEIRO em vez disso:
=XLOOKUP(TRUE,E5:E14>250,B5:B14)
Alternativamente, você pode forçar os valores TRUE FALSE para 1's e 0's, e usar 1 assim.
=XLOOKUP(1,--(E5:E14>250),B5:B14)