Função PROCV

Aplica-se A
Excel para Microsoft 365 Excel para Microsoft 365 para Mac Excel 2024 Excel 2024 for Mac Excel 2021 Excel 2021 para Mac Excel 2019 Excel 2016

Sugestão

Experimente utilizar a nova função PROCX, uma versão melhorada da função VLOOKUP que funciona em qualquer direção e devolve as combinações exatas por predefinição, o que torna a utilização mais fácil e conveniente do que a sua antecessora.

Utilize a função PROCV quando precisar de encontrar conteúdos numa tabela ou num intervalo por linha. Por exemplo, procure o preço de uma peça de automóvel através do número da peça ou encontre o nome de um funcionário com base no respetivo ID de funcionário.

De uma forma resumida, a função PROCV diz:

=PROCV(O que pretende procurar, onde pretende procurar, o número da coluna no intervalo que contém o valor a devolver, devolver uma combinação Aproximada ou Exata – indicada como 1/VERDADEIRO, ou 0/FALSO).

Sugestão

  • O segredo da PROCV é organizar os seus dados para que o valor que procura (Fruto) se encontre à esquerda do valor de retorno (Montante) que pretende encontrar.
  • Se for um Microsoft Copilot subscritor, o Copilot pode facilitar ainda mais a inserção e utilização de funções VLookup ou XLookup. Consulte o artigo O Copilot facilita as pesquisas no Excel.

Detalhes técnicos

Utilize a função PROCV para procurar um valor numa tabela.

Sintaxe

VLOOKUP (valor_proc, matriz_tabela, núm_índice_coluna, [intervalo_pesquisa])

Por exemplo:

  • =PROCV(A2,A10:C20,2,VERDADEIRO)
  • =PROCV("Rodrigues";B2:E7;2;FALSO)
  • =PROCV(A2;'Detalhes do Cliente'! A:F,3,FALSO)
Nome do argumento Descrição
valor_proc (obrigatório) O valor que pretende pesquisar. O valor que pretende procurar tem de estar na primeira coluna do intervalo de células que especificar no argumento table_array .
Por exemplo, se a matriz-tabela abranger as células B2:D7, o lookup_value tem de estar na coluna B.
Lookup_value pode ser um valor ou uma referência a uma célula.
matriz_tabela (obrigatório) O intervalo de células em que a função PROCV irá procurar o lookup_value e o valor devolvido. Pode utilizar um intervalo com nome ou uma tabela e pode utilizar nomes no argumento em vez de referências de célula.
A primeira coluna no intervalo de células tem de conter o lookup_value. O intervalo de células também tem de incluir o valor de retorno que pretende encontrar.
Saiba como selecionar intervalos numa folha de cálculo.
núm_indice_coluna (obrigatório) O número da coluna (começando com 1 para a coluna mais à esquerda de table_array) que contém o valor devolvido.
intervalo_pesquisa(opcional) Um valor lógico que especifica se pretende que PROCV localize uma correspondência aproximada ou uma correspondência exata:
  • Correspondência aproximada - 1/VERDADEIRO presume que a primeira coluna da tabela está ordenada por ordem numérica ou alfabética e, em seguida, irá procurar o valor mais próximo. Este é o método predefinido, se não especificar nenhum. Por exemplo, =PROCV(90,A1:B100,2,VERDADEIRO).
  • Correspondência exata – 0/FALSO procura o valor exato na primeira coluna. Por exemplo, =PROCV("Smith",A1:B100,2,FALSO).

Como começar

Existem quatro informações de que irá precisar para criar a sintaxe da função PROCV:

  1. O valor que pretende procurar, também designado valor de pesquisa (valor_proc).
  2. O intervalo onde o valor de pesquisa se encontra. Lembre-se de que o valor de pesquisa deve encontrar-se na primeira coluna no intervalo para que a função PROCV funcione corretamente. Por exemplo, se o seu valor de pesquisa se encontrar na célula C2, o seu intervalo deve começar com C.
  3. O número da coluna no intervalo que contém o valor devolvido. Por exemplo, se especificar B2:D11 como o intervalo, deverá contar B como a primeira coluna, C como a segunda e assim sucessivamente.
  4. Opcionalmente, pode especificar VERDADEIRO se pretender uma correspondência aproximada ou FALSO para uma correspondência exata do valor devolvido. Se não especificar nada, o valor predefinido será sempre VERDADEIRO ou uma correspondência aproximada.

Agora experimente colocar tudo o que foi mencionado acima da seguinte forma:

=PROCV(valor de pesquisa, intervalo que contém o valor de pesquisa, o número da coluna no intervalo que contém o valor de retorno, Correspondência aproximada (VERDADEIRO) ou Correspondência exata (FALSO)).

Exemplos

Eis alguns exemplos da função PROCV:

Exemplo 1

=PROCV (B3;B2:E7;2;FALSO) PROCV procura Fontana na primeira coluna (coluna B) no table_array B2:E7 e devolve Olivier da segunda coluna (coluna C) do table_array. Falso devolve uma correspondência exata.

Exemplo 2

=PROCV (102;A2:C7;2;FALSO) PROCV procura uma correspondência exata (FALSO) do apelido para 102 (lookup_value) na segunda coluna (coluna B) no intervalo A2:C7 e devolve Fontana.

Exemplo 3

=SE(PROCV(103;A1:E7;2;FALSO)=Souse,Localizado;Não encontrado) SE verifica se PROCV devolve Sousa como o apelido do funcionário correspoinding para 103 (lookup_value) em A1:E7 (table_array). Uma vez que o apelido correspondente a 103 é Leal, a condição SE é falsa e Não Encontrado é apresentado.

Exemplo 4

=INT(YEARFRAC(DATE(2014;6;30),PROCV(105;A2:E7;5;FLASE),1)) PROCV procura a data de nascimento do colaborador correspondente a 109 (lookup_value) no intervalo A2:E7 (table_array) e devolve 04/03/1955. Em seguida, YEARFRAC subtrai esta data de nascimento de 2014/6/30 e devolve um valor, que é depois convertido por INY para o número inteiro 59.

Exemplo 5

IF(ISNA(PROCV(105;A2:E7;2;FLASE))=VERDADEIRO,Funcionário não encontrado;PROCV(105;A2:E7;2;FALSO)) SE verifica se PROCV devolve um valor para o apelido da coluna B para 105 (lookup_value). Se PROCV encontrar um apelido, SE apresentará o apelido, caso contrário, SE devolve Funcionário não encontrado. O ISNA garante que, se PROCV devolver #N/D, o erro é substituído por Funcionário não encontrado, em vez de #N/D. Neste exemplo, o valor devolvido é Burke, que é o apelido correspondente a 105.

Problemas Comuns

Problema O que correu mal
Valor devolvido errado Se range_lookup for VERDADEIRO ou ficar de fora, a primeira coluna tem de ser ordenada alfabeticamente ou numericamente. Se a primeira coluna não está ordenada, o valor de retorno pode ter um resultado inesperado. Ordene a primeira coluna ou utilize FALSO para obter uma correspondência exata.
#N/D na célula
  • Se range_lookup for VERDADEIRO, se o valor na lookup_value for menor do que o menor valor na primeira coluna do table_array, obterá o valor de erro #N/D.
  • Se range_lookup for FALSO, o valor de erro #N/D indica que o número exato não foi encontrado.
Para obter mais informações sobre como resolver erros #N/D na função PROCV, consulte Como corrigir um erro #N/D na função PROCV.
#REF! na célula Se col_index_num for maior do que o número de colunas na matriz de tabelas, obterá a #REF! #VALOR!
Para obter mais informações sobre como resolver um erro #REF! em PROCV, veja Como corrigir um erro de #REF!.
#VALOR! na célula Se o table_array for inferior a 1, obterá o #VALUE! #VALOR!
Para obter mais informações sobre como resolver erros #VALUE! na função PROCV, veja Como corrigir um erro de #VALUE! na função PROCV.
#NOME? na célula O #NAME? normalmente, o valor de erro significa que a fórmula tem aspas em falta. Para procurar o nome de uma pessoa, certifique-se de que utiliza aspas no nome na fórmula. Por exemplo, introduza o nome como "Rodrigues" em =PROCV ("Rodrigues";B2:E7;2;FALSO).
Para obter mais informações, consulte Como corrigir um erro #NOME!.
Erros de #TRANSPOSIÇÃO! na célula Este erro específico #SPILL! normalmente significa que a sua fórmula depende da interseção implícita para o valor de pesquisa e utiliza uma coluna inteira como referência. Por exemplo, =PROCV( A:A;A:C;2;FALSO). Pode resolver o problema ao ancorar a referência de procura com o operador @ da mesma forma: =PROCV(@A:A,A:C,2,FALSO). Em alternativa, pode utilizar o método PROCV tradicional e fazer referência a uma única célula em vez de uma coluna inteira: =PROCV(A2,A:C,2,FALSO).

Práticas recomendadas

Faça o seguinte Por que motivo
Utilizar referências absolutas para range_lookup A utilização de referências absolutas permite-lhe preencher uma fórmula de forma a pesquisar sempre dentro do mesmo intervalo de pesquisa exato.
Saiba como utilizar referências de célula absolutas.
Não armazene valores de números ou datas como texto. Ao procurar valores de número ou data, certifique-se de que os dados na primeira coluna de table_array não são armazenados como valores de texto. Caso contrário, o PROCV poderá devolver um valor incorreto ou inesperado.
Ordene a primeira coluna Ordene a primeira coluna do table_array antes de utilizar a função PROCV quando range_lookup for VERDADEIRO.
Utilizar carateres universais Se range_lookup for FALSO e lookup_value for texto, pode utilizar os carateres universais ( o ponto de interrogação (?) e o asterisco (*)) no lookup_value. Um ponto de interrogação corresponde a qualquer caráter individual. Um asterisco corresponde a qualquer sequência de carateres. Se pretender localizar um ponto de interrogação ou asterisco verdadeiro, escreva um til (~) à frente do caráter.
Por exemplo, =PROCV("Fontan?",B2:E7,2,FALSO) irá procurar todas as instâncias de Fontana com uma última letra que pode variar.
Certifique-se de que os seus dados não contêm carateres inválidos. Ao procurar valores de texto na primeira coluna, certifique-se de que os dados na primeira coluna não têm espaços à esquerda, espaços à direita, utilização inconsistente de aspas direitas ( ' ou " ) e curvas ( ' ou ") ou carateres não imprimíveis. Nestes casos, o PROCV pode apresentar um valor inesperado.
Para obter resultados precisos, tente utilizar a função LIMPARB ou a função COMPACTAR para remover os espaços à direita após os valores de tabela numa célula.

Precisa de mais ajuda?

Pode sempre perguntar a um especialista na Comunidade Tecnológica do Excel ou obter suporte nas Comunidades.