
Fórmula genérica
=XLOOKUP(A1,months,XLOOKUP(A2,names,data))
Resumo
Para realizar uma pesquisa dupla com a função XLOOKUP (um XLOOKUP duplo), você pode aninhar um XLOOKUP dentro de outro. No exemplo mostrado, a fórmula em H6 é:
=XLOOKUP(H5,months,XLOOKUP(H4,names,data))
onde meses (C4: E4) e nomes (B5: B13), e dados (C5: E13) são intervalos nomeados.
Explicação
Um dos recursos do XLOOKUP é a capacidade de pesquisar e retornar uma linha ou coluna inteira. Este recurso pode ser usado para aninhar um XLOOKUP dentro de outro para realizar uma pesquisa bidirecional. O XLOOKUP interno retorna um resultado para o XLOOKUP externo, que retorna um resultado final.
Nota: XLOOKUP executa uma correspondência exata por padrão, portanto, o modo de correspondência não é definido.
Trabalhando de dentro para fora, o XLOOKUP interno é usado para recuperar todos os dados de "Frantz":
XLOOKUP(H4,names,data)
XLOOKUP encontra "Frantz" nos nomes de intervalo nomeados (B5: B13). Frantz aparece na quinta linha, então XLOOKUP retorna a quinta linha de dados (C5: E13). O resultado é uma matriz que representa uma única linha de dados para Frantz, contendo 3 meses de vendas:
(10699,5194,10525) // data for Frantz
Esta matriz é retornada diretamente para o XLOOKUP externo como return_array:
=XLOOKUP(H5,months,(10699,5194,10525))
O XLOOKUP externo encontra o valor em H5 ("Mar") dentro do intervalo nomeado meses (C4: E4). O valor "Mar" aparece como o terceiro item, então XLOOKUP retorna o terceiro item dos dados de vendas, o valor 10525.
Sem intervalos nomeados
Os intervalos nomeados usados neste exemplo são apenas para legibilidade. Sem intervalos nomeados, a fórmula é:
=XLOOKUP(H5,C4:E4,XLOOKUP(H4,B5:B13,C5:E13))
INDEX e MATCH
Este exemplo pode ser resolvido com INDEX e MATCH assim:
=INDEX(C5:E13,MATCH(H4,B5:B13,0),MATCH(H5,C4:E4,0))
INDEX and MATCH é uma boa solução para este problema e provavelmente mais fácil de entender para a maioria das pessoas. No entanto, a versão XLOOKUP mostra o poder e a flexibilidade do XLOOKUP.