
Fórmula genérica
=XLOOKUP(val1&val2&val3,rng1&rng2&rng3,results)
Resumo
Para usar XLOOKUP com vários critérios, você pode concatenar valores de pesquisa e arrays de pesquisa diretamente na fórmula. No exemplo mostrado, a fórmula em H8 é:
=XLOOKUP(H5&H6&H7,B5:B14&C5:C14&D5:D14,E5:E14)
XLOOKUP retorna $ 17,00, o preço de uma camiseta vermelha grande.
Nota: XLOOKUP pode manipular matrizes nativamente; não há necessidade de entrar com control + shift + enter.
Explicação
Uma das vantagens interessantes de XLOOKUP em relação a VLOOKUP é que XLOOKUP pode trabalhar com arrays diretamente, em vez de exigir intervalos em uma planilha. Isso torna possível montar arrays na fórmula e colocá-los na função.
Trabalhando um argumento de cada vez, o valor de pesquisa é criado juntando H5, H6 e H7 usando concatenação:
=XLOOKUP(H5&H6&H7
Isso resulta na string "T-shirtLargeRed".
A matriz de pesquisa é criada de maneira semelhante, exceto que agora estamos unindo intervalos:
=XLOOKUP(H5&H6&H7,B5:B14&C5:C14&D5:D14
A matriz de retorno é fornecida como um intervalo normal :, E5: E14:
=XLOOKUP(H5&H6&H7,B5:B14&C5:C14&D5:D14,E5:E14
Em essência, estamos procurando o valor de pesquisa "T-shirtLargeRed" em dados como este:
lookup_array | result_array |
---|---|
T-shirtSmallRed | 15 |
T-shirtMediumBlue | 16 |
T-shirtLargeRed | 17 |
HoodieSmallGray | 28 |
HoodieMediumBlue | 29 |
HoodieLargeBlack | 30 |
HatMediumBlack | 25 |
HatMediumGray | 26 |
HatLargeRed | 24 |
T-shirtLargeBlue | 16 |
O modo de correspondência é padronizado para exata e o modo de pesquisa é padronizado para a primeira correspondência, então XLOOKUP retorna $ 17,00.
Com lógica booleana
Embora a sintaxe explicada acima funcione bem para correspondências simples "igual a", você também pode usar a lógica booleana para construir uma fórmula como esta:
=XLOOKUP(1,(B5:B14=H5)*(C5:C14=H6)*(D5:D14=H7),E5:E14)
Esta é uma abordagem mais flexível porque a sintaxe pode ser ajustada para usar outros operadores lógicos e outras funções conforme necessário para pesquisas mais complexas.