Applies ToExcel para Microsoft 365 Excel para Microsoft 365 para Mac Excel na Web Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 para Mac Excel 2019 Excel 2016 Excel para Windows Phone 10

Este tópico descreve as razões mais comuns da FUNÇÃOV para um resultado erróneo na função e fornece sugestões para utilizar ÍNDICE e CORRESP .

Sugestão: Além disso, consulte o Cartão de Referência Rápida: sugestões de resolução de problemas da função PROCV que apresenta os motivos comuns associados ao erro #N/D num ficheiro PDF conveniente. Pode partilhar o PDF com outras pessoas ou imprimir para sua referência.

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

Uma das limitações da função PROCV é que apenas pode procurar valores na coluna mais à esquerda da matriz de tabela. Por isso, se o valor de pesquisa não estiver na primeira coluna da matriz, verá o erro #N/D.

Na tabela seguinte, queremos obter o número de unidades vendidas pelo Guilherme.

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

O erro #N/D ocorre porque o valor de pesquisa "Guilherme" aparece na segunda coluna (Produtos) no argumento matriz_tabela A2:C10. Neste caso, o Excel está a procurá-lo na coluna A e não na coluna B.

Solução: Pode tentar corrigir este problema ao ajustar a função PROCV para referenciar a coluna correta. Se não for possível, tente mover as suas colunas. Isto também pode ser altamente impraticável se tiver folhas de cálculo grandes ou complexas onde os valores das células são resultados de outros cálculos ou talvez existam outras razões lógicas para não conseguir simplesmente mover as colunas. A solução é utilizar uma combinação das funções ÍNDICE e CORRESP, as quais podem procurar um valor numa coluna, independentemente da sua posição de localização na tabela de referência. Consulte a secção seguinte.

Pondere antes utilizar ÍNDICE/CORRESP

INDEX e CORRESP são boas opções para muitos casos em que a função PROCV não se enquadra nas suas necessidades. A maior vantagem das funções ÍNDICE/CORRESP é poder procurar um valor numa coluna em qualquer localização na tabela de referência. ÍNDICE devolve um valor de uma tabela/intervalo especificado, de acordo com a sua posição. CORRESP devolve a posição relativa de um valor numa tabela/intervalo. Ao utilizar as funções ÍNDICE e CORRESP em conjunto numa fórmula, pode procurar um valor numa tabela/matriz ao especificar a posição relativa do valor na tabela/matriz.

Existem várias vantagens de utilizar ÍNDICE/CORRESP em vez de PROCV:

  • Com as funções ÍNDICE e CORRESP, o valor devolvido não tem de estar na mesma coluna que a coluna de pesquisa. Isto é diferente da função PROCV, na qual o valor devolvido tem de estar no intervalo especificado. Qual a importância disto? Com a função PROCV, tem de saber o número da coluna que contém o valor devolvido. Embora isto não pareça ser difícil, pode ser complicado quando tem uma tabela grande e precisa de contar o número de colunas. Além disso, se adicionar/remover um valor na sua tabela, tem de contar novamente e atualizar o argumento núm_índice_coluna. Com as funções ÍNDICE e CORRESP, não é necessária nenhuma contagem porque a coluna de pesquisa é diferente da coluna que contém o valor devolvido.

  • Com as funções ÍNDICE e CORRESP, pode especificar uma linha ou uma coluna numa matriz ou ambas. Isto significa que pode procurar valores tanto na vertical como na horizontal.

  • As funções ÍNDICE e CORRESP podem ser utilizadas para procurar valores em qualquer coluna. Ao contrário de PROCV, onde apenas pode procurar um valor na primeira coluna numa tabela, ÍNDICE e CORRESP funcionarão se o valor de pesquisa estiver na primeira coluna, na última ou em qualquer parte deste intervalo.

  • ÍNDICE e CORRESP têm a flexibilidade de fazer referência dinâmica à coluna que contém o valor devolvido. Isto significa que pode adicionar colunas à sua tabela sem afetar ÍNDICE e CORRESP. Por outro lado, a função PROCV falha se tiver de adicionar uma coluna à tabela, uma vez que faz uma referência estática à tabela.

  • ÍNDICE e CORRESP permitem uma maior flexibilidade com correspondências. ÍNDICE e CORRESP podem encontrar uma correspondência exata ou um valor maior ou menor do que o valor a procurar. PROCV irá apenas procurar uma correspondência mais aproximada a um valor (por predefinição) ou um valor exato. PROCV assume também por predefinição que a primeira coluna da matriz da tabela está ordenada alfabeticamente. Se a tabela não estiver configurada dessa forma, PROCV devolverá a primeira correspondência mais aproximada na tabela, que pode não ser o que procura.

Sintaxe

Para criar uma sintaxe para ÍNDICE/CORRESP, tem de utilizar o argumento de matriz/referência da função ÍNDICE e aninhar a sintaxe CORRESP dentro da mesma. O formato é o seguinte:

=ÍNDICE(matriz ou referência, CORRESP(valor_proc,matriz_proc,[tipo_corresp])

Vamos utilizar ÍNDICE/CORRESPONDER para substituir a ferramenta PROCV a partir do exemplo acima. A sintaxe terá o seguinte aspeto:

=ÍNDICE(C2:C10,CORRESP(B13,B2:B10,0))

De uma forma simples, significa que:

=ÍNDICE(devolver um valor de C2:C10, que faz a CORRESP com(Guilherme, que está algures na matriz B2:B10, onde o valor devolvido é o primeiro valor correspondente a Guilherme))

As funções ÍNDICE e CORRESP podem ser utilizadas como substituição de PROCV

A fórmula procura o primeiro valor em C2:C10 correspondente a Guilherme (em B7) e devolve o valor em C7 (100), que é o primeiro valor correspondente a Guilherme.

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

Quando o argumento procurar_intervalo for FALSO e PROCV não conseguir localizar uma correspondência exata nos seus dados, devolve o erro #N/D.

Solução: se tiver a certeza de que os dados relevantes existem na folha de cálculo e PROCV não está a detetá-los, verifique se as células referenciadas não têm espaços ocultos ou carateres não imprimíveis. Além disso, certifique-se de que as células têm o tipo de dados correto. Por exemplo, as células com números devem ser formatadas como Número e não Texto.

Além disso, considere utilizar a função LIMPAR ou COMPACTAR para limpar dados em células.

Problema: o valor de pesquisa é inferior ao valor mais pequeno na matriz

Se o argumento procurar_intervalo estiver definido como VERDADEIRO e o valor de pesquisa for inferior ao valor mais pequeno na matriz, verá o erro #N/D. VERDADEIRO procura uma correspondência aproximada na matriz e devolve o valor menor mais próximo relativamente ao valor de pesquisa.

No exemplo seguinte, o valor de pesquisa é 100, mas não existem valores no intervalo B2:C10 inferiores a 100, daí o erro.

Erro N/D na função PROCV quando o valor de pesquisa é inferior ao valor mais pequeno na matriz

Solução:

  • corrija o valor de pesquisa conforme necessário.

  • Se não conseguir alterar o valor de pesquisa e precisar de maior flexibilidade com valores correspondentes, considere utilizar ÍNDICE/CORRESP em vez de PROCV—consulte a secção acima neste artigo. Com ÍNDICE/CORRESP, pode procurar valores maiores, menores ou iguais ao valor de pesquisa. Para obter mais informações sobre a utilização de ÍNDICE/CORRESP em vez de PROCV, consulte a secção anterior neste tópico.

Problema: a coluna de pesquisa não está ordenada por ordem ascendente

Se o argumento procurar_intervalo estiver definido como VERDADEIRO e uma das colunas de pesquisa não estiver ordenada por ordem ascendente (A-Z), verá o erro #N/D.

Solução:

  • altere a função PROCV para procurar uma correspondência exata. Para tal, defina o argumento procurar_intervalo como FALSO. Não é necessária qualquer ordenação para FALSO.

  • Utilize a função ÍNDICE/CORRESP para procurar um valor numa tabela não ordenada.

Problema: o valor é um grande número de vírgula flutuante

Se tiver valores de tempo ou números decimais muito grandes, o Excel devolve o erro #N/D devido à precisão da vírgula flutuante. Os números de vírgula flutuante são os números a seguir a uma vírgula decimal. (O Excel guarda valores de tempo como números de vírgula flutuante.) O Excel não consegue guardar números de vírgula flutuante demasiado extensos. Para que a função funcione corretamente, é necessário arredondar os números de vírgula flutuante para 5 casas decimais.

Solução: reduza os números ao arredondá-los até cinco casas decimais com a função ARRED.

Precisa de mais ajuda?

Pode sempre colocar uma pergunta a um especialista da Comunidade Tecnológica do Excel ou obter suporte nas Comunidades.

Consulte Também

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.