Ela de novo, a função PROCV. Seu uso no Excel, se contado, deve ser equivalente ao número de instalações do próprio aplicativo.
Filosofias a parte, tanto quanto o uso do PROCV, fala-se muito das suas limitações. O substituto imediato é a combinação do das funções ÍNDICE e CORRESP, entre outras.
Porém, com uma pequena ajuda de fórmulas matriciais (veja o que são aqui: https://www.tomasvasquez.com.br/blog/microsoft-office/excel-formulas-matriciais), o PROCV por ir além, por exemplo, fazendo retornar mais de coluna ao mesmo tempo.
O problema
Para começar, precisamos de dados. No exemplo utilizado, tenho a base de munícios do Brasil e seus estados.
Com base nisso, vamos construir um PROCV bem simples (na célula H2):
=PROCV($H$1;$A$2:$E$5571;3;FALSO)
Até aqui tudo bem, mas, o Brasil tem várias cidades de mesmo nome e saber também o estado ajudaria. Temos algumas formas de fazer isso, sendo a mais óbvia adicionar mais um PROCV ao lado do primeiro. Isso resolve bem para alguns casos, mas, e se precisar fazer isso 3,4 ou mesmo 10 vezes? Há situações em que isso é necessário e a fórmula pode chegar a ficar insanamente comprida. A solução mais elegante é usar PROCV com fórmulas matriciais.
O truque
Estou assumindo que você entende de fórmulas matriciais, com já foi referenciada no link acima.
Uma das coisas mais interessantes que as fórmulas matriciais é sua capacidade de iteração, seja via preenchimento, seja via arrays dentro da su função. Sim! Arrays! Você leu direito!
Começamos com uma pequena modificação no primeiro PROCV escrito, que deve agora parecer com isso:
=PROCV($H$1;$A$2:$E$5571;{3,4};FALSO)
O que mudou foi que, ao invés de mencionar a coluna 3, que refere ao nome do município, temos 2 valores numéricos entre chaves {} e separados por ponto-e-vírgula (separador padrão do Excel em português). O interessante é que quando você confirma a alteração, o Excel não reclama, apesar de ainda não saber o que fazer com aquilo, assumindo apenas o primeiro valor.
Para fazer nosso PROCV retornar os dois valores, há dois passos a serem seguidos:
- Transformar o PROCV acima em matricial
- Fazer algo com o resultado
A primeira parte é fácil. Basta entrar na célula e digitar o atalho Ctrl+Shift+Enter. Isso adicionará chaves em volta da fórmula provando que ela está no formato matricial. Mas, após isso, nada muda:
O detalhe é que, a fórmula toda agora está retornando vários valores, mas o mecanismo padrão do Excel só interpreta um. Para pegar todos os resultados, precisamos de funções que recebem vários valores e fazem algo com eles, por exemplo, SOMA, MÉDIA, MÁX e, no nosso caso, CONCAT!
A CONCAT nada mais, nada mesmo que une os valores de texto que lhe são passados. Adicionando ela ao mix, temos o seguinte:
{=CONCAT(PROCV($H$1;$A$2:$E$5571;{3;4};FALSO))}
Um exemplo mais maluco ainda, agora usando UNIRTEXTO:
{=UNIRTEXTO(” – “;VERDADEIRO;PROCV($H$1;$A$2:$E$5571;{2;3;4;5};FALSO))}
Com isso, você não deve precisar mais precisar colocar vários PROCVs seguidos quando mais de uma coluna tiver que ser retornada.
Agora é com você Exceleiro de plantão! Caso tenha mais alguma maluca que possa fazer uso deste curso, coloque aí nos comentários!
Bom proveito!