cellio

PROCV Não Funciona? 8 Causas do Erro #N/D e Como Resolver

O PROCV está dando #N/D ou trazendo o valor errado? Veja as 8 causas mais comuns na planilha, de espaços extras a texto, e como corrigir cada uma.

Por Ayoub Farid · · 4 min de leitura

Você consegue ver claramente o valor na tabela, mas o VLOOKUP (PROCV no Excel em português) insiste em retornar #N/A (ou #N/D). Essa é uma das maiores dores de cabeça ao trabalhar com uma planilha, e o problema quase sempre se resume a uma destas oito causas. Confira o passo a passo a seguir para resolver.

1. Espaços extras

"P-102 " (com um espaço no final) não é a mesma coisa que "P-102". Dados importados de outros sistemas vivem cheios desses espaços invisíveis.

Como verificar: use a fórmula =LEN(A3) (ou =NÚM.CARACT(A3)); ela vai mostrar mais caracteres do que você realmente enxerga na célula. Como corrigir: limpe os dados com a função TRIM (ARRUMAR), ou remova os espaços diretamente na fórmula de busca: =VLOOKUP(TRIM(F2),$A$2:$C$100,3,FALSE).

2. Números formatados como texto (ou vice-versa)

A tabela contém o código 1042 como texto, mas o seu valor de busca é o número 1042. Para as fórmulas do Excel, eles são completamente diferentes e não vão bater.

Como verificar: repare se um está alinhado à esquerda e o outro à direita, ou teste se =ISTEXT(A2) (função =É.TEXTO(A2)) retorna VERDADEIRO. Como corrigir: converta a coluna (guia Dados > Texto para Colunas > Concluir), ou iguale os tipos dentro da própria fórmula: =VLOOKUP(F2&"",...) (converte número em texto) ou =VLOOKUP(--F2,...) (converte texto em número).

3. A coluna de busca não é a primeira do intervalo

O VLOOKUP procura correspondências apenas na primeira coluna da matriz (table_array). Se os códigos que você procura estão na coluna B e o seu intervalo começa na coluna A, a fórmula vai procurar no lugar errado.

Como corrigir: ajuste o início do intervalo para a coluna onde o código realmente está, ou use as funções mais modernas XLOOKUP (PROCX) ou INDEX MATCH (ÍNDICE/CORRESP).

4. O intervalo se deslocou ao arrastar a fórmula para baixo

Ao usar =VLOOKUP(F2,A2:C10,3,FALSE) e arrastar a fórmula para baixo, o intervalo muda para A3:C11, depois A4:C12… e as primeiras linhas acabam saindo da área de pesquisa da tabela.

Como corrigir: trave o intervalo com o cifrão: $A$2:$C$10. Aprenda mais sobre o uso de referência absoluta.

5. Faltou o argumento FALSE (busca aproximada por engano)

Se você não preencher o quarto argumento da função, o VLOOKUP assume a correspondência aproximada (TRUE ou VERDADEIRO) por padrão. Em dados que não estão em ordem alfabética ou crescente, ele retorna #N/A ou, pior ainda, traz a linha errada sem mostrar nenhum erro.

Como corrigir: finalize a fórmula sempre com FALSE (ou 0 / FALSO) para exigir uma correspondência exata.

6. Número da coluna fora do intervalo

Se o argumento col_index_num for maior do que a quantidade total de colunas selecionadas no intervalo, o Excel gera o erro #REF!. Se for um número menor que 1, você verá o erro #VALUE! (#VALOR!).

Como corrigir: conte as colunas começando da primeira coluna do seu intervalo selecionado, e não a partir da coluna A da planilha.

7. O valor realmente não existe na base

Erros de digitação, diferenças de grafia (como "Coca Cola" sem hífen contra "Coca-Cola") ou o item simplesmente ainda não foi cadastrado.

Como corrigir: trate o erro de forma elegante usando a fórmula =IFERROR(VLOOKUP(...),"Not found") (função IFERROR/SEERRO). Veja como dominar a função IFERROR.

8. Alguém inseriu uma nova coluna na tabela

Se você colocou um número fixo para a coluna (por exemplo, 3), inserir uma nova coluna no meio da tabela fará a fórmula apontar para a informação errada. Não aparece erro na célula, mas o dado exibido estará incorreto.

Como corrigir: migre para o XLOOKUP, que faz a referência direta à coluna de retorno, ou combine o VLOOKUP com a função MATCH (CORRESP) para encontrar o número da coluna dinamicamente.

Um roteiro rápido de diagnóstico

  1. Copie o valor de busca e o valor da tabela lado a lado.
  2. Digite =F2=A3 → se o resultado for FALSO, eles têm alguma diferença oculta.
  3. Compare =LEN(F2) com =LEN(A3) → se os tamanhos forem diferentes, você tem espaços extras.
  4. Verifique =ISNUMBER(F2) com =ISNUMBER(A3) (função É.NÚM) → se um for verdadeiro e o outro falso, há incompatibilidade entre texto e número.

Perguntas frequentes

Por que o VLOOKUP retorna #N/A se o valor existe na planilha?

Na maioria das vezes, o motivo são espaços invisíveis antes ou depois do texto, ou uma incompatibilidade de tipos de dados (um valor salvo como número e o outro como texto).

Por que o VLOOKUP retorna o valor errado?

Isso acontece quando a busca aproximada está ativada (esqueceu de colocar o FALSE no final) ou quando o número índice da coluna foi digitado incorretamente.

Como fazer o VLOOKUP ignorar os erros?

Basta envolver a função com a fórmula IFERROR: =IFERROR(VLOOKUP(...),""). Se não encontrar nada, a célula ficará vazia em vez de exibir #N/A.

O XLOOKUP resolve esses problemas?

Ele elimina completamente os problemas de ter que contar colunas, a limitação de buscar apenas à direita e o perigo da busca aproximada por padrão. No entanto, cuidados com espaços extras e conversão de texto para número continuam sendo necessários em qualquer uma das funções do Excel ou no Planilhas Google (Google Sheets). Se você está se preparando para aprender Excel ou fazer um teste de Excel para entrevista de emprego, entender esses detalhes faz toda a diferença.

Continue lendo