Funções de pesquisa
O que você vai ver aqui
A operação mais usada no trabalho com planilhas: trazer informação de uma base para outra sem digitar. Três caminhos para o mesmo destino, e o critério para escolher entre eles.
O problema que essas funções resolvem
Existe uma base de cadastro num lugar e uma base de movimento em outro. É preciso trazer o preço, o nome ou a categoria de uma para a outra. Digitar à mão não é opção: erra e não se atualiza.
PROCV
=PROCV(valor_procurado; matriz_tabela; num_indice_coluna; [procurar_intervalo])
- valor_procurado — o que se busca.
- matriz_tabela — o intervalo onde buscar. O valor procurado precisa estar na primeira coluna desse intervalo.
- num_indice_coluna — a posição da coluna a devolver, contando a partir da primeira coluna da matriz.
- procurar_intervalo — FALSO ou 0 para correspondência exata; VERDADEIRO ou 1 para aproximada.
Sempre trave a matriz com $ ao arrastar a fórmula.
A correspondência aproximada tem uso legítimo: faixas de comissão, faixas de imposto, conceitos por nota. Ela exige a tabela ordenada de forma crescente pela primeira coluna, e devolve o maior valor que não ultrapassa o procurado.
Limitações do PROCV
- Só busca da esquerda para a direita.
- Quebra quando alguém insere ou remove uma coluna, porque o índice é numérico.
- Fica lento em bases muito grandes.
Contorno para o índice fixo: =PROCV(A2;$F$1:$J$500;CORRESP("Preço";$F$1:$J$1;0);0).
PROCH
Mesma lógica, mas busca na primeira linha e devolve um valor da linha indicada. Usada quando a tabela é organizada na horizontal, situação bem menos comum.
PROCX
=PROCX(valor_procurado; matriz_procurada; matriz_retorno; [se_nao_encontrado]; [modo_correspondencia]; [modo_pesquisa])
Resolve todas as limitações do PROCV: busca em qualquer direção, inclusive à esquerda; indica diretamente a coluna de retorno, sem contar posições; tem tratamento de erro embutido no quarto argumento; pode buscar de baixo para cima; e aceita correspondência aproximada e curinga.
Exemplo: =PROCX(A2;Produtos[Codigo];Produtos[Preco];"Não localizado";0)
A disponibilidade varia conforme a versão do Excel. Confira antes de montar a aula.
ÍNDICE com CORRESP
=ÍNDICE(intervalo_retorno; CORRESP(valor; intervalo_procura; 0))
- CORRESP devolve a posição de um valor dentro de um intervalo.
- ÍNDICE devolve o valor que está em determinada posição.
Juntas, fazem tudo o que o PROCX faz e funcionam em qualquer versão. É a combinação clássica do mercado, e vale ensinar mesmo onde o PROCX existe.
Busca com dois critérios, por linha e coluna:
=ÍNDICE($B$2:$F$50;CORRESP(H2;$A$2:$A$50;0);CORRESP(H3;$B$1:$F$1;0))
Tratamento de erros
| Erro | Causa provável | Correção |
|---|---|---|
#N/D | Valor não existe na base de busca | Conferir grafia, espaços com ARRUMAR, tipo do dado |
#REF! | Índice de coluna maior que a matriz | Ajustar o intervalo ou o índice |
#VALOR! | Índice de coluna menor que 1 | Corrigir o argumento |
| Resultado errado, sem erro | Correspondência aproximada usada sem querer | Informar 0 ou FALSO |
Padrões de tratamento: =SEERRO(PROCV(...);"Não localizado") e =SENÃODISP(PROCV(...);0), que trata apenas #N/D e deixa os demais erros visíveis.
Na prática
- Monte duas abas:
Cadastrode produtos eMovimentode vendas. - Traga nome, categoria e preço para o movimento com PROCV.
- Provoque
#N/Dcom um código inexistente e outro com espaço no fim, corrigindo cada caso. - Refaça a mesma busca com ÍNDICE e CORRESP, trazendo uma coluna que está à esquerda.
- Refaça com PROCX, se disponível, e compare as três abordagens.
- Monte uma tabela de faixas de comissão e aplique PROCV aproximado.
- Faça uma busca cruzada por linha e coluna com ÍNDICE e dois CORRESP.
- Trate todos os erros com SENÃODISP.
Exercícios
- Por que o PROCV não busca à esquerda e como contornar?
- O que acontece se o quarto argumento do PROCV for omitido?
- Monte uma tabela de conceito por nota usando correspondência aproximada.
- Explique a função de cada parte da combinação ÍNDICE com CORRESP.
- Uma busca retorna
#N/Dmas o código existe na base. Liste três causas.
Erros comuns
- Não travar a matriz ao arrastar a fórmula.
- Contar a coluna de retorno a partir da planilha, e não a partir da matriz.
- Comparar número com texto sem perceber.
Checklist de saída
Você cruza bases com segurança e diagnostica erros de busca em vez de apagar a fórmula e tentar de novo.
Referências
- CUNHA, Marcelo. Funções de busca no Excel: PROCV, ÍNDICE e CORRESP.
- PET Civil UFSCar. Apostila de Excel, Nível Intermediário, 2020.
- Microsoft Support. Função PROCV. Disponível em: https://support.microsoft.com/pt-br/excel
Testa o que você leu
4 perguntas sobre esta aula. Errar aqui não custa nada - a explicação vem junto da correção.