Você monta um PROCV, ele funciona, e uma semana depois alguém insere uma coluna no meio da tabela. A fórmula continua sem erro, mas passa a trazer a informação errada. O culpado é o número fixo da coluna. Neste artigo você aprende a juntar o PROCV com a função CORRESP para que o Excel encontre a coluna sozinho, pelo nome do cabeçalho.
Neste artigo (10 seções)
Resumo rápido
Em vez de digitar o número da coluna no PROCV, use o CORRESP para procurar o nome do campo na linha de cabeçalho:
=PROCV($H$2;$A$1:$E$9;CORRESP($H$3;$A$1:$E$1;0);0)
- H2 tem o código que você quer encontrar.
- H3 tem o nome do campo que você quer trazer, por exemplo “Preço”.
- CORRESP descobre em que posição esse campo está e entrega esse número ao PROCV.
Se alguém inserir ou mover colunas, o CORRESP acha o cabeçalho na nova posição e o resultado continua certo.
A tabela de exemplo
Vamos usar uma lista de produtos em A1:E9:
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | Código | Produto | Categoria | Preço | Estoque |
| 2 | P-101 | Mouse sem fio | Periféricos | R$ 89,90 | 42 |
| 3 | P-102 | Teclado | Periféricos | R$ 149,00 | 18 |
| 4 | P-103 | Webcam Full HD | Vídeo | R$ 219,50 | 7 |
| 5 | P-104 | Headset | Áudio | R$ 189,90 | 25 |
| 6 | P-105 | Monitor 22″ | Vídeo | R$ 799,00 | 5 |
| 7 | P-106 | Hub USB | Acessórios | R$ 79,90 | 60 |
| 8 | P-107 | Caixa de som | Áudio | R$ 129,00 | 14 |
| 9 | P-108 | Suporte de notebook | Acessórios | R$ 99,90 | 31 |
O problema do número fixo da coluna
O jeito mais comum de buscar o preço do produto P-103 é este:
=PROCV("P-103";$A$1:$E$9;4;0)
O 4 diz ao Excel: “traga a 4ª coluna da tabela”, que hoje é o Preço. O resultado é R$ 219,50.
Agora imagine que alguém insere uma coluna “Marca” entre Produto e Categoria. A tabela passa a ter Código, Produto, Marca, Categoria, Preço e Estoque. O Excel ajusta o intervalo sozinho, mas não mexe no 4. A 4ª coluna agora é a Categoria, e a fórmula passa a devolver “Vídeo” no lugar do preço, sem mostrar erro nenhum.
Esse é o pior tipo de erro: a planilha parece certa e entrega o dado errado. Testamos esse caso exatamente assim antes de escrever este artigo.
Como o CORRESP encontra a coluna
A função CORRESP procura um valor numa linha ou coluna e devolve a posição em que ele está:
=CORRESP("Preço";$A$1:$E$1;0)
- “Preço”: o que procurar.
- $A$1:$E$1: onde procurar (a linha de cabeçalho).
- 0: correspondência exata.
O resultado é 4, porque “Preço” é o 4º cabeçalho. Se uma coluna for inserida antes dele, o CORRESP passa a devolver 5, sem você mexer em nada.
Passo a passo: PROCV com CORRESP
- Em H2, digite o código que quer buscar:
P-103. - Em H3, digite o nome do campo, igual ao cabeçalho:
Preço. - Em H4, digite a fórmula:
=PROCV($H$2;$A$1:$E$9;CORRESP($H$3;$A$1:$E$1;0);0)
Resultado: R$ 219,50. Troque H3 para Estoque e a mesma fórmula devolve 7. Troque para Categoria e ela devolve Vídeo.
Regra de ouro: o intervalo do CORRESP (A1:E1) precisa começar na mesma coluna que o intervalo do PROCV (A1:E9). Se a tabela começa na coluna A, o cabeçalho também começa na A.
Dica: lista suspensa para escolher o campo
Para não errar o nome do campo, transforme H3 numa lista suspensa: selecione H3, vá em Dados > Validação de Dados, escolha Lista e em Fonte selecione =$B$1:$E$1. Agora é só escolher Produto, Categoria, Preço ou Estoque.
Exemplo 2: preencher uma ficha inteira arrastando a fórmula
O PROCV com CORRESP brilha quando você precisa de vários campos de uma vez. Monte uma pequena tabela com os códigos na coluna J e os campos que quer trazer na linha 8:
| J | K | L | M | |
|---|---|---|---|---|
| 8 | Código | Produto | Preço | Estoque |
| 9 | P-101 | Mouse sem fio | R$ 89,90 | 42 |
| 10 | P-105 | Monitor 22″ | R$ 799,00 | 5 |
| 11 | P-107 | Caixa de som | R$ 129,00 | 14 |
| 12 | P-108 | Suporte de notebook | R$ 99,90 | 31 |
Em K9, digite uma única fórmula e arraste para a direita e para baixo:
=PROCV($J9;$A$1:$E$9;CORRESP(K$8;$A$1:$E$1;0);0)
O segredo está nos cifrões:
$J9: a coluna J fica travada (o código está sempre em J), a linha muda ao arrastar para baixo.K$8: a linha 8 fica travada (os campos estão sempre na linha 8), a coluna muda ao arrastar para a direita.$A$1:$E$9e$A$1:$E$1: totalmente travados.
Com uma fórmula só, você preencheu 12 células. Se quiser mudar a ordem dos campos na ficha, basta trocar os cabeçalhos da linha 8.
Alternativas: ÍNDICE + CORRESP e PROCX
O mesmo resultado sai com ÍNDICE + CORRESP, que também busca à esquerda:
=ÍNDICE($A$2:$E$9;CORRESP($H$2;$A$2:$A$9;0);CORRESP($H$3;$A$1:$E$1;0))
No Excel 365 e no Excel 2021, o PROCX faz tudo isso de forma mais simples, buscando a linha e a coluna pelo nome:
=PROCX($H$2;$A$2:$A$9;PROCX($H$3;$A$1:$E$1;$A$2:$E$9))
Se a planilha vai circular entre pessoas com versões antigas do Excel, fique com o PROCV com CORRESP ou com o ÍNDICE + CORRESP: os dois funcionam em qualquer versão.
Erros comuns e como corrigir
1. #N/D porque o nome do campo não bate com o cabeçalho
“Preço ” com um espaço no fim não é igual a “Preço”. O CORRESP não encontra e a fórmula devolve #N/D. Use a lista suspensa ou limpe os espaços com ARRUMAR:
=PROCV($H$2;$A$1:$E$9;CORRESP(ARRUMAR($H$3);$A$1:$E$1;0);0)
2. Cabeçalho começando em outra coluna
Se a tabela do PROCV começa em A e o CORRESP procura em B1:E1, a posição sai uma coluna antes e o resultado fica errado. Os dois intervalos precisam começar na mesma coluna.
3. Esquecer o 0 no CORRESP ou no PROCV
Sem o 0 no fim, as funções fazem busca aproximada e podem trazer o valor de outra linha ou de outra coluna. Para códigos e nomes, use sempre 0.
4. Faltar o cifrão ao arrastar
Sem os cifrões, a tabela “anda” junto com a fórmula e as últimas linhas passam a dar #N/D. Confira os travamentos do Exemplo 2.
Se o seu PROCV dá #N/D mesmo com o valor na tabela, veja as 9 causas mais comuns de PROCV não funcionar. E para trocar o #N/D por uma mensagem, use a função SEERRO.
Planilha para baixar
A planilha tem a tabela de produtos, a consulta com listas suspensas de código e de campo, a ficha do Exemplo 2 e o caso do erro com espaço, com as fórmulas prontas. Faça o teste: insira uma coluna nova no meio da tabela e veja o resultado continuar certo.
Baixar a planilha PROCV com CORRESP (.xlsx)
Funciona no Excel 2010 ou mais novo, no Excel para a web e no LibreOffice. Não tem macro. Download livre, sem cadastro.
Perguntas frequentes
PROCV com CORRESP funciona em qualquer versão do Excel?
Sim. As duas funções existem em todas as versões do Excel em português, inclusive nas antigas, e também no LibreOffice e no Google Planilhas.
Qual é melhor: PROCV com CORRESP ou PROCX?
Se todos que usam a planilha têm Excel 365 ou 2021, o PROCX é mais simples. Para planilhas que vão para pessoas com versões diferentes, o PROCV com CORRESP é a escolha mais segura.
Posso usar CORRESP para escolher a linha também?
Pode, com ÍNDICE: um CORRESP acha a linha pelo código e outro acha a coluna pelo cabeçalho, como na fórmula da seção de alternativas.
Isso também serve para teste de Excel em entrevista?
Serve, e é uma das combinações mais cobradas. Veja outros exercícios no teste de Excel para entrevista de emprego.
Ficou com alguma dúvida? Deixe nos comentários.
