PROCV

Suponha que você esteja querendo saber o telefone de uma pizzaria consultando um catálogo telefônico: você passa os olhos pela lista dos nomes até encontrar o nome da pizzaria e anota o resultado desejado, que é o telefone. No Excel, o princípio de funcionamento do PROCV é semelhante.

A função PROCV é uma das mais empregadas no Excel. Tal fato se justifica pela grande utilidade da mesma: retorna a correspondência da coluna vizinha de um termo buscado numa tabela.

Uso Básico do PROCV

Na planilha abaixo, temos duas tabelas: a azul possui dados de cadastros de uma empresa e a laranja representa vendas realizadas. Nosso objetivo é preencher a tabela laranja consultando a tabela azul. É possível preencher esses dados manualmente, mas o processo é moroso, está sujeito a erros humanos e o Excel possui uma função especial para resolver esse tipo de problema com facilidade, que é o PROCV.

A função PROCV procura um valor ou referência numa tabela e retorna o valor da correspondência na célula. Nesse exemplo, poderíamos escrever em G4:

=PROCV(F4;B4:D8;2;0)

Com isso, teremos o resultado como mostrado abaixo:

Bom, preenchemos apenas uma célula das várias que há na tabela laranja. No entanto, é necessário entender um pouco mais o PROCV antes de continuar.

PROCV retorna a correspondência do primeiro resultado encontrado, mesmo que na tabela de busca apareça o termo buscado várias vezes.

A Estrutura do PROCV

O PROCV possui 4 parâmetros, que são separados por ; (ponto-e-vírgula):

=PROCV(valor_procurado;tabela_de_busca;n_índice_coluna;procura_intervalo)

valor_procurado

É a palavra, número ou data que será procurada. Pode ser um valor literal ou uma referência (ou seja, outra célula do Excel que tenha um valor). Na fórmula apresentada na seção anterior, poderíamos fazer uma busca por um valor literal escrevendo em qualquer célula da planilha algo como:

=PROCV("Maria";B4:D8;2;0)

Lembrando que textos em fórmulas devem estar entre aspas duplas.

tabela_de_busca

É a tabela onde o valor_procurado será pesquisado e também onde a correspondência do valor procurado se encontra. Essa tabela pode ter mais de uma coluna, e por isso é importante ressaltar que a coluna pesquisada sempre será a primeira coluna dessa tabela. No exemplo do início da página, como tabela_de_busca é B4:D8, o valor_procurado será pesquisado no intervalo B4:B8 (ou seja, somente pela coluna B) .

n_índice_coluna

É o número da coluna ao qual o PROCV trará o resultado, contando a partir da primeira coluna de tabela_de_busca. Esse valor é um número inteiro igual ou maior que 1. No exemplo acima, foi necessário atribuir 2 a esse parâmetro para retornar a cidade das vendas porque sua coluna está logo à direita de onde se faz a busca:

É importante lembrar que a tabela_de_busca deve ser larga suficientemente para acomodar o n_índice_coluna a ser usado na fórmula, ou seja, se você deseja usar 5 para o n_índice_coluna, a tabela_de_busca deve ser, por exemplo A1:E1000 ou D8:Y500 (ambas tem a largura de 5 colunas).

procura_intervalo

Você pode colocar VERDADEIRO ou FALSO nesse argumento (ou, de forma equivalente 0 ou 1). Por enquanto, mantenha-o como 0 ou FALSO (tem o mesmo efeito, mas pessoalmente uso o 0 por praticidade) porque adiante será explicado como esse parâmetro pode ser usado.

Esse argumento é opcional, mas se você não especificá-lo, o Excel assumirá ele como VERDADEIRO.

Usar o PROCV por Toda Tabela

Para o nosso exemplo, como você faria para preencher a célula H4 e retornar o Departamento de José? Basta usar a mesma fórmula anteriormente, mudando apenas o n_índice_coluna de 2 para 3, pois o Departamento é a 3a coluna de matriz_tabela:

=PROCV(F4;B4:D8;3;0)

O próximo passo agora é copiar a fórmula por todas as células da tabela. Para fazer isso, você terá que estar familiarizado com o conceito de Referências Relativas e Absolutas para que a referência à matriz_tabela não se desloque.

Logo, para que possamos copiar as fórmulas para baixo sem problemas, escreva em G4:

=PROCV(F4;$B$4:$D$8;2;0)

Escreva em H4:

=PROCV(F4;$B$4:$D$8;3;0)

Em seguida, copie e cole a fórmula para baixo:

É importante ressaltar que o PROCV não distingue maiúsculas de minúsculas, isto é, se na tabela_de_busca conter o registro José e o valor_procurado for JOSÉ, a fórmula tratará esse caso normalmente e retornará sua correspondência.

Observe que um dos resultados apresentou o erro #N/D (significa Não Disponível) porque o nome Rogério não se encontra na primeira coluna de matriz_tabela.

Suprimindo Erros no PROCV

Você pode mostrar um texto diferente de #N/D no resultado do PROCV quando a função não encontrar nenhuma ocorrência, tendo como auxílio a função SEERRO. Na célula G2, escreva a fórmula abaixo e copie-a para baixo:

=SEERRO(PROCV(F4;$B$4:$D$8;2;0);"")

Adapte a fórmula para a célula H2 e copie-a também para baixo. Sua tabela deverá ficar como mostrado abaixo:

No caso, "" significa que nada será mostrado, mas você poderia usar também, por exemplo, "NÃO ENCONTRADO".

Caracteres Curingas

Caracteres curingas são aqueles que podem assumir uma faixa de valores. Você pode utilizar caracteres curingas para fazer a busca de parte de sequências de texto quando faz uma busca exata no PROCV. Veja exemplos do uso de caracteres curingas numa função semelhante ao PROCV, que é a CORRESP neste link.

O Parâmetro procura_intervalo

Até agora usei apenas 0 ou FALSO no último argumento do PROCV, mas ao assumir 1 ou VERDADEIRO, pode ser útil em algumas ocasiões.

Suponha que você seja professor e esteja dando o conceito dos alunos de acordo com a nota que receberam:

As regras para dar os conceitos são mostradas abaixo:

Ou seja, de 0 até 49 (ou melhor, até 49,99...) conceito F, de 50 a 59,99.. conceito E e assim por diante.

Se quisermos preencher os conceitos dos alunos usando o PROCV da forma ensinada até agora, teríamos que criar uma tabela de busca que tivesse o conceito de todas as notas de 0 a 100 com o conceito de cada nota:

Mesmo assim, essa tabela iria falhar para o caso de uma nota que não fosse inteira, como 72,5.

Em outras palavras, o PROCV mostrado até agora só busca ocorrências exatas quando o último argumento é 0 ou FALSO. No entanto, se o argumento for 1 ou VERDADEIRO, ele irá buscar um valor aproximado ao procurado e irá retornar a correspondência aproximada. Veja o cenário a seguir:

Preencha a célula D4 com a fórmula a seguir:

=PROCV(D7;$G$5:$H$10;2;VERDADEIRO)

Copie essa célula e cole abaixo até o final da tabela:

Você obterá os resultados corretos dos conceitos. No entanto, para essa técnica funcionar, é obrigatório que a primeira coluna de tabela_de_busca (ou seja, a coluna onde que são buscados os valores) esteja classificada em ordem crescente. Do contrário, o PROCV não funcionará corretamente retornará resultados incoerentes.

A tabela_de_busca deve mostrar qual é o valor mínimo possível buscado (no nosso caso, 0), mas não precisa constar o valor máximo possível (100).

Uma desvantagem dessa técnica é que é necessário uma tabela auxiliar para que ela funcione. Se você apagar a tabela que possui as regras dos conceitos, verá que a fórmula retornará erro. No entanto, é possível incorporar as regras para dentro da fórmula. Selecione a célula D4 e selecione a expressão $F$4:$G$9, como mostrado abaixo:

Pressione a tecla F9 para avaliar essa expressão. Verá o resultado a seguir:

Pressione Enter, copie essa fórmula e cole para baixo pela tabela. Em seguida, apague a tabela de regras. Verá que a fórmula funciona normalmente. A desvantagem dessa técnica é que é um pouco mais difícil de alterar a regra de conceitos nesse formato e também as regras não estão centralizadas mais em apenas um lugar, mas sim incorporada em cada uma das fórmulas.

O exemplo apresentado busca números numa tabela_de_busca, mas pode-se procurar por texto também. Por exemplo: Casa é menor que Fábrica porque C vem antes de F no alfabeto (para saber mais detalhes sobre isso, veja esta seção).

E o PROCH?

Tudo o que está escrito neste artigo sobre o PROCV vale também para o PROCH.

O PROCH funciona de forma semelhante ao PROCV, mas ao invés de procurar um valor na primeira coluna da tabela_de_busca, a procura se dá na primeira linha. Consequentemente, o n_índice_coluna deveria se chamar aqui n_índice_linha, já que representa qual linha será retornada:

No exemplo acima, a fórmula em B11 é:

=PROCH("Norte";C3:G8;4;0)

PROCV para a Esquerda

Conforme visto na sessão de Erros, você obterá um erro se usar um número menor que 1 no parâmetro n_índice_coluna. Isso implica que o PROCV não consegue, em sua forma básica, retornar uma correspondência à esquerda de um termo procurado.

No entanto, existem algumas técnicas para resolver esse tipo de problema. Leia o artigo PROCV para a Esquerda.

Melhorar o Desempenho do PROCV

Se você possui uma planilha que utiliza o PROCV inúmeras vezes e está tendo problemas de lentidão ao realizar cálculos, recomendo ler o artigo Melhorar o Desempenho do PROCV.

Erros

PROCV pode dar erro por uma série de motivos. Lembrando de sua estrutura:

=PROCV(valor_procurado;tabela_de_busca;n_índice_coluna;procura_intervalo)
  • #VALOR!, se procura_intervalo não avalia nem para VERDADEIRO, FALSO, 0 ou 1.
  • #REF!, se o n_índice_coluna ultrapassar a largura da tabela_de_busca.
  • #N/D, se procura_intervalo for FALSO e uma ocorrência exata não for encontrada. No entanto, esse erro específico é tratado nesta seção.
  • #N/D, se procura_intervalo for VERDADEIRO e valor_procurado for menor que o primeiro valor da primeira coluna da tabela_de_busca.

Download

Para fazer download da pasta de trabalho usada neste artigo, clique aqui.

Sobre Felipe Gualberto

Microsoft Most Valuable Professional (MVP) de Excel.
Esta entrada foi publicada em Tutoriais e marcada com a tag , , . Adicione o link permanente aos seus favoritos.