
Fórmula genérica
=XLOOKUP(value,lookup,return,"not found",2)
Resumo
Para executar uma correspondência parcial com XLOOKUP, forneça 2 para o argumento do modo de correspondência para permitir curingas. No exemplo mostrado, a fórmula em H7 é:
=TRANSPOSE((XLOOKUP(H4,D5:D15,B5:E15,"Not found",2)))
que executa uma correspondência curinga com o valor em H4 e retorna todos os 4 campos como resultado. A função TRANSPOSE é opcional e usada aqui apenas para converter o resultado de XLOOKUP em uma matriz vertical.
Explicação
Trabalhando de dentro para fora, o XLOOKUP é configurado para encontrar o valor em H4 na coluna Sobrenome e retornar todos os campos. Para oferecer suporte a curingas, match_mode é fornecido como 2:
XLOOKUP(H4,D5:D15,B5:E15,2) // match Last, return all fields
- O lookup_value vem da célula H4
- O lookup_array é o intervalo D5: D15, que contém sobrenomes
- O return_array é B5: E15, que contém todos os campos
- O argumento not_found é definido como "Não encontrado"
- O match_mode é 2, para permitir curingas
- O search_mode não é fornecido e o padrão é 1 (do primeiro ao último)
Como H4 contém "corr *", XLOOKUP encontra o primeiro sobrenome começando com "corr" e retorna todos os quatro campos em uma matriz horizontal:
(648,"Sharyn","Corriveau","Support")
Este resultado é retornado diretamente para a função TRANSPOSE:
=TRANSPOSE((648,"Sharyn","Corriveau","Support"))
A função TRANSPOSE muda a matriz de horizontal para vertical:
(648;"Sharyn";"Corriveau";"Support") // vertical array
e os valores da matriz variam no intervalo H7: H10.
Com curinga implícito
No exemplo acima, o caractere curinga de asterisco (*) é inserido explicitamente no valor de pesquisa. Para passar o curinga implicitamente, você pode ajustar a fórmula desta forma:
=TRANSPOSE((XLOOKUP(H4&"*",D5:D15,B5:E15,"Not found",2)))
Acima, concatenamos o curinga de asterisco (*) ao valor em H4 na própria fórmula. Isso acrescentará o asterisco a qualquer valor inserido em H4 e o XLOOKUP executará uma pesquisa de curinga.