O PROCV é a primeira função de busca que quase todo mundo aprende, e também a que mais dá dor de cabeça: só procura para a direita, quebra quando alguém insere uma coluna e, se você esquecer um argumento, retorna resultados aproximados que parecem certos, mas não são.
A combinação de ÍNDICE e CORRESP resolve esses problemas e funciona em qualquer versão do Excel. Você vai ver o que cada função faz separadamente, como juntá-las, como procurar por linha e coluna ao mesmo tempo e quais erros merecem atenção.
Por que procurar uma alternativa ao PROCV
Uma fórmula típica de PROCV tem esta cara:
=PROCV(H2;A2:E6;4;FALSO)
Ela funciona, mas tem limitações importantes:
- Só olha para a direita. O valor procurado precisa estar na primeira coluna do intervalo. Não dá para procurar um nome e retornar o código que está à esquerda dele.
- Usa um número de coluna fixo. O 4 significa “quarta coluna”. Se alguém inserir uma coluna no meio, a fórmula retorna outro dado sem avisar.
- A correspondência aproximada é a opção padrão. Se você omitir
FALSO, o Excel pode retornar um valor próximo em vez de um erro.
Os dados de exemplo
Vamos usar este catálogo de produtos nas colunas A a E, com os cabeçalhos na linha 1:
| Código | Produto | Categoria | Preço | Estoque |
|---|---|---|---|---|
| P-101 | Teclado | Acessórios | 25 | 40 |
| P-102 | Mouse | Acessórios | 12 | 85 |
| P-103 | Monitor | Monitores | 180 | 15 |
| P-104 | Notebook | Equipamentos | 650 | 8 |
| P-105 | Impressora | Equipamentos | 140 | 0 |
Na célula H2 vamos digitar o código que queremos procurar, por exemplo P-104.
As duas peças: ÍNDICE e CORRESP
ÍNDICE: retorna o valor de uma posição
ÍNDICE recebe um intervalo e um número de linha (e, se quiser, de coluna) e retorna o que estiver nessa posição:
=ÍNDICE(B2:B6;3)
Retorna “Monitor”, o terceiro item do intervalo. Com um intervalo de várias colunas, você também pode indicar a coluna:
=ÍNDICE(A2:E6;3;4)
Retorna 180: linha 3 e coluna 4 do intervalo, ou seja, o preço do monitor.
CORRESP: encontra a posição de um valor
CORRESP faz o contrário: procura um valor em uma linha ou coluna e informa em que posição ele está.
=CORRESP("P-103";A2:A6;0)
Retorna 3. O último argumento é o tipo de correspondência e é fundamental:
- 0: correspondência exata. É o que você vai usar quase sempre.
- 1 (padrão): o maior valor menor ou igual ao procurado. Exige dados em ordem crescente.
- -1: o menor valor maior ou igual ao procurado. Exige dados em ordem decrescente.
Combinar ÍNDICE e CORRESP
A ideia é simples: CORRESP calcula a linha e ÍNDICE retorna o dado dessa linha. Para obter o preço do código digitado em H2:
=ÍNDICE(D2:D6;CORRESP(H2;A2:A6;0))
Com P-104 em H2, o resultado é 650. Para montar a fórmula sem errar:
- Escolha a coluna que contém a resposta (D2:D6, os preços).
- Escolha a coluna onde está o valor que você conhece (A2:A6, os códigos).
- Confira se os dois intervalos começam e terminam na mesma linha.
- Escreva
CORRESPcom o 0 no final e coloque-a como segundo argumento deÍNDICE.
Como a coluna de resultado é um intervalo independente, inserir colunas na tabela não afeta a fórmula: o Excel ajusta as referências sozinho.
Procurar para a esquerda
Aqui está a grande vantagem em relação ao PROCV. Se você sabe o nome do produto (em H3) e quer o código dele, que está à esquerda:
=ÍNDICE(A2:A6;CORRESP(H3;B2:B6;0))
Com “Monitor” em H3, retorna P-103.
Trazer dados de outra planilha
Os intervalos podem estar em planilhas diferentes. Se você tem uma lista de pedidos com o código na coluna A e o catálogo em uma planilha chamada Preços, esta fórmula traz o preço de cada pedido:
=ÍNDICE(Preços!D:D;CORRESP(A2;Preços!A:A;0))
Se os dados chegam espalhados em vários arquivos, por exemplo um catálogo por fornecedor, o ideal é juntá-los primeiro. Nossa ferramenta gratuita para combinar arquivos do Excel une várias pastas de trabalho em uma só, e depois você pode procurar com uma única fórmula.
Busca com linha e coluna variáveis
Usando dois CORRESP, um para a linha e outro para a coluna, você também pode escolher qual dado quer ver. Digite em H4 o nome de uma coluna, por exemplo Estoque:
=ÍNDICE(A2:E6;CORRESP(H2;A2:A6;0);CORRESP(H4;A1:E1;0))
Com P-104 em H2 e Estoque em H4, o resultado é 8. Se trocar H4 por Preço, você obtém 650 sem mexer na fórmula. É um jeito muito prático de criar uma pequena ficha de consulta: uma célula para o código, uma lista suspensa com os cabeçalhos e uma fórmula.
Erros comuns e como evitá-los
- #N/D porque o valor não existe. Costuma ser causado por espaços no final, códigos escritos de forma diferente ou números armazenados como texto (101 não é o mesmo que “101”). Para mostrar uma mensagem em vez do erro, envolva a fórmula com
SEERRO. - Intervalos desalinhados. Se
ÍNDICEusa D1:D6 eCORRESPusa A2:A6, a posição calculada corresponde a outra linha e o resultado sai deslocado uma posição, sem nenhum aviso. - Esquecer o 0 no CORRESP. Sem ele, o Excel usa a correspondência aproximada e, com dados fora de ordem, pode retornar qualquer linha.
- Referências que se movem ao copiar. Se você vai copiar a fórmula para baixo, fixe os intervalos com
$, por exemplo$A$2:$A$6.
Esta é a versão com mensagem personalizada:
=SEERRO(ÍNDICE(D2:D6;CORRESP(H2;A2:A6;0));"Não encontrado")
E o PROCX?
No Excel 2021 e no Microsoft 365 existe o PROCX, que faz o mesmo em uma única função e procura em qualquer direção:
=PROCX(H2;A2:A6;D2:D6;"Não encontrado")
| Característica | PROCV | ÍNDICE + CORRESP | PROCX |
|---|---|---|---|
| Procura para a esquerda | Não | Sim | Sim |
| Resiste a colunas inseridas | Não | Sim | Sim |
| Correspondência exata por padrão | Não | Não | Sim |
| Versões | Todas | Todas | 2021 e 365 |
Se você compartilha arquivos com pessoas que usam o Excel 2016 ou 2019, ÍNDICE e CORRESP continuam sendo a opção mais segura: nessas versões, PROCX mostra o erro #NOME?.
Conclusão
ÍNDICE e CORRESP separam duas tarefas: encontrar a posição e retornar o dado. É essa separação que as torna tão flexíveis. Elas procuram em qualquer direção, toleram mudanças na estrutura da tabela e permitem buscas por linha e coluna com uma só fórmula.
Crie o hábito de sempre digitar o 0 do CORRESP, conferir se os intervalos estão alinhados e limpar espaços e formatos antes de procurar. Com esses três cuidados, você evita a maioria dos erros #N/D.
Perguntas frequentes
Posso procurar com dois critérios ao mesmo tempo?
Sim. Com o produto em H5 e a categoria em H6, use =ÍNDICE(D2:D6;CORRESP(1;(B2:B6=H5)*(C2:C6=H6);0)). No Microsoft 365 basta pressionar Enter; em versões anteriores, confirme com Ctrl+Shift+Enter.
O que acontece se o valor procurado aparecer várias vezes?
CORRESP sempre retorna a primeira ocorrência. Se a sua coluna de busca tiver códigos repetidos, verifique os duplicados antes para não pegar dados da linha errada.
Funcionam no Google Planilhas e no LibreOffice Calc?
Sim. Os dois aplicativos têm ÍNDICE e CORRESP com a mesma lógica, então as fórmulas deste guia podem ser usadas sem mudanças, exceto pelo separador de argumentos de acordo com as suas configurações regionais.
ÍNDICE e CORRESP são mais rápidas que PROCV?
Na maioria das planilhas você não vai notar diferença. A vantagem real delas é a flexibilidade e a resistência a mudanças na tabela, não a velocidade.
Experimente nossas ferramentas gratuitas
Compare, converta, junte e limpe suas planilhas pelo navegador, sem instalar nada.