Como corrigir um erro #N/D na função PROCV

Este tópico descreve os motivos de PROCV mais comuns para um resultado errôneo na função e fornece sugestões para usar índice e CORRESP em vez disso.

Dica: Consulte também o cartão de referência rápida: dicas de solução de problemas de PROCV que apresentam os motivos comuns para #NA problemas em um arquivo PDF conveniente. Você pode compartilhar o PDF com outras pessoas ou imprimir para sua própria referência.

Problema: O valor de pesquisa não está na primeira coluna no argumento matriz_tabela

Uma restrição de PROCV é que ele só pode procurar valores na coluna mais à esquerda na matriz de tabela. Se o valor de pesquisa não estiver na primeira coluna da matriz, você verá o erro #N/A.

Na tabela a seguir, queremos recuperar o número de unidades vendidas para Kale.

Erro de #N/D no PROCV: O valor de pesquisa não está na primeira coluna da matriz da tabela

O erro #N/A resulta porque o valor de pesquisa "couve" aparece na segunda coluna (produção) do argumento Table_array a2: C10. Nesse caso, o Excel o está procurando na coluna A, e não na coluna B.

Solução: Você pode tentar corrigir o problema ajustando o PROCV para fazer referência à coluna correta. Se isso não for possível, tente mover suas colunas. Isso também pode ser altamente impracticable, se você tiver planilhas grandes ou complexas em que os valores de células são resultados de outros cálculos, ou talvez haja outros motivos lógicos para que você simplesmente não possa mover as colunas. A solução é usar uma combinação das funções ÍNDICE e CORRESP, que pode pesquisar um valor em uma coluna independentemente de sua localização na tabela de pesquisa. Veja a próxima seção.

Considere usar índice/CORRESP em vez disso

Índice e correspondência são opções boas para muitos casos em que a PROCV não atende às suas necessidades. A vantagem principal do índice/correspondência é que você pode pesquisar um valor em uma coluna em qualquer local na tabela de pesquisa. ÍNDICE retorna um valor de uma tabela/intervalo especificado, de acordo com sua posição. MATCH retorna a posição relativa de um valor em uma tabela/intervalo. Use índice e CORRESP juntos em uma fórmula para pesquisar um valor em uma tabela/matriz especificando a posição relativa do valor na tabela/matriz.

Há várias vantagens de usar índice/CORRESP em vez de PROCV:

  • Com índice e CORRESP, o valor de retorno não precisa estar na mesma coluna que a coluna de pesquisa. Isso é diferente do PROCV, no qual o valor de retorno deve estar no intervalo especificado. Qual a importância disso? Com a função PROCV, você precisa saber o número da coluna que contém o valor de retorno. Embora isso possa não parecer desafiador, pode ser complicado quando você tem uma tabela grande e precisa contar o número de colunas. Além disso, se você adicionar/remover uma coluna na tabela, será necessário recontar e atualizar o argumento Col_Index_Num . Com ÍNDICE e CORRESP, não é necessário contar, já que a coluna de pesquisa é diferente da coluna que tem o valor de retorno.

  • Com índice e CORRESP, você pode especificar uma linha ou uma coluna em uma matriz, ou especificar ambas. Isso significa que você pode pesquisar valores tanto verticalmente quanto horizontalmente.

  • ÍNDICE e CORRESP podem ser usados para procurar valores em qualquer coluna. Ao contrário do PROCV, no qual você pode pesquisar apenas um valor na primeira coluna de uma tabela — o índice e a correspondência funcionarão se o valor de pesquisa estiver na primeira coluna, na última ou em qualquer lugar entre elas.

  • ÍNDICE e CORRESP oferecem a flexibilidade de fazer referência dinâmica à coluna que contém o valor de retorno.Isso significa que você pode adicionar colunas à sua tabela sem quebrar índice e CORRESP. Por outro lado, a função PROCV será interrompida se você precisar adicionar uma coluna à tabela, já que ela faz uma referência estática à tabela.

  • O índice e a correspondência oferecem mais flexibilidade com correspondências.ÍNDICE e CORRESP podem localizar uma correspondência exata ou um valor maior ou menor do que o valor de pesquisa. PROCV vai procurar apenas a correspondência mais próxima do valor (por padrão) ou o valor exato. O PROCV também presume, por padrão, que a primeira coluna da matriz de tabela está em ordem alfabética, e caso sua tabela não esteja configurada dessa forma, PROCV retornará a primeira correspondência mais próxima na tabela, que pode não ser a informação que você está procurando.

Sintaxe

Para criar sintaxe para índice/correspondência, você precisa usar o argumento Array/Reference da função índice e aninhar a sintaxe correspondente dentro dela. Isso tem a forma:

=ÍNDICE(matriz ou referência, CORRESP(valor_procurado,matriz_procurada,[tipo_correspondência])

Vamos usar índice/CORRESP para substituir PROCV no exemplo acima. A sintaxe terá a seguinte aparência:

=ÍNDICE(C2:C10,CORRESPONDÊNCIA(B13,B2:B10,0))

Em bom português significa:

= ÍNDICE (retorna um valor de C2: C10, que corresponderá (couve, que está em algum lugar na matriz B2: B10, em que o valor de retorno é o primeiro valor correspondente a couve))

Funções ÍNDICE e CORRESP podem ser usadas no lugar de PROCV

A fórmula procura o primeiro valor em C2: C10 que corresponde a Couve (em B7) e retorna o valor em C7 (100), que é o primeiro valor que corresponde a Couve.

Problema: A correspondência exata não foi encontrada

Quando o argumento range_lookup é falso — e PROCV não consegue encontrar uma correspondência exata em seus dados — ele retorna o erro #N/a.

Solução: se você tem certeza de que os dados relevantes existem na planilha e a função PROCV não está capturando, Reserve algum tempo para verificar se as células referenciadas não têm espaços ou caracteres não imprimíveis. Além disso, verifique se as células seguem o tipo de dados correto. Por exemplo, as células com números devem ser formatadas como númeroe não como texto.

Além disso, considere o uso da função limpar ou aparar para limpar dados nas células.

Problema: O valor de pesquisa é menor do que o menor valor na matriz

Se o argumento range_lookup for definido como true — e o valor de pesquisa for menor do que o menor valor na matriz — você verá o erro #N/a. VERDADEIRO procura uma correspondência aproximada na matriz e retorna o valor mais próximo menor que o valor de pesquisa.

No exemplo a seguir, o valor de pesquisa é 100, mas não há valores no intervalo B2:C10 menores do que 100; por isso ocorre o erro.

Erro #N/D em PROCV quando o valor de pesquisa é menor do que o menor valor na matriz

Solução:

  • Corrija o valor de pesquisa conforme necessário.

  • Se não for possível alterar o valor de pesquisa e precisar de maior flexibilidade com valores correspondentes, considere usar índice/CORRESP em vez de PROCV – consulte a seção acima neste artigo. Com ÍNDICE/CORRESP, você pode pesquisar valores maiores, menores ou iguais ao valor de pesquisa. Para mais informações sobre como usar ÍNDICE/CORRESP em vez de PROCV, consulte a seção anterior neste tópico.

Problema: A coluna de pesquisa não está em ordem crescente

Se o argumento range_lookup estiver definido como true — e uma de suas colunas de pesquisa não estiver classificada na ordem crescente (a-Z) — você verá o erro #N/a.

Solução:

  • Altere a função PROCV para procurar uma correspondência exata. Para isso, defina o argumento procurar_intervalo como FALSO. Nenhuma classificação é necessária para falso.

  • Use a função ÍNDICE/CORRESP para pesquisar um valor em uma tabela não ordenada.

Problema: O valor é um grande número de ponto flutuante

Se você tiver valores de tempo ou números decimais grandes em células, o Excel retornará o erro #N/D devido à precisão do ponto flutuante. Os números de ponto flutuante são números que aparecem após uma vírgula decimal. (O Excel armazena valores de tempo como números de ponto flutuante.) O Excel não pode armazenar números com pontos sobrepostos muito grandes, portanto, para que a função funcione corretamente, os números de ponto flutuante precisarão ser arredondados para 5 casas decimais.

Solução: Encurtar os números arredondando-os a cinco casas decimais com a função ARRED.

Você tem alguma dúvida sobre uma função específica?

Postar uma pergunta no fórum da comunidade do Excel

Ajude-nos a melhorar o Excel

Você tem sugestões sobre como podemos melhorar a próxima versão do Excel? Em caso afirmativo, confira os tópicos no site UserVoice do Excel.

Confira também

Observação:  Esta página foi traduzida automaticamente e pode apresentar erros gramaticais ou imprecisões. Nosso objetivo é que este conteúdo seja útil para você. Você pode nos dizer se as informações foram úteis? Use o artigo em inglês como referência.​

Expanda suas habilidades no Office
Explore o treinamento
Obtenha novos recursos primeiro
Ingressar no Office Insider

Essas informações foram úteis?

Obrigado por seus comentários!

Agradecemos pelos seus comentários! Parece que pode ser útil conectar você a um de nossos agentes de suporte do Office.

×