Home
Principal
Assinar
Dicas
Excel
Word
Outlook
Office/VBA
Suplementos
Outros
Busque neste site:
Pesquisar
PROCV
Última atualização: 06/12/2011
Introdução
Automatizando o n.º_índice_coluna
O Parâmetro procura_intervalo
PROCV em Referências Externas
-PROCV em Outra Planilha
-PROCV em Outra Pasta de Trabalho
Retornar Todas as Correspondências de um PROCV
PROCV com Critérios
-Explicação
Procurar Valores à Esquerda de uma Tabela
-Fazer Cópia de Coluna para o Início da matriz_tabela
-Utilizando Funções CORRESP, DESLOC e ÍNDICE
-Explicação
-Rearranjar matriz_tabela Dentro do PROCV
Referências
IntroduçãoA fórmula PROCV é uma das funções mais usadas no Excel. Tal fato se justifica pela grande utilidade da mesma: retorna a correspondênciada coluna vizinha de um elemento em uma tabela. Exemplo: na tabela abaixo, deseja-se preencher a tabela azul (que contém muitas linhas)com os Pontos de cada Nome, de acordo com a tabela de referência, na cor verde:
Considerando que a tabela azul tem mais de mil linhas, seria gasto um tempo muito grande para realizar a tarefa povoando-a manualmente.A fórmula PROCV procura um valor ou referência numa tabela e retorna a correspondência na célula. Nesse exemplo, poderíamos escreverem G5:
=PROCV(F5;B3:D7;2;0)
Fluxo de CaixaFácilPlanilha PRONTApara uso no excelusada por mais de100 empresaswww.LojadeConsultoria
Autodesk BIMConstruçãoComece a usar aAutodesk®Building DesignSuite 2013. BaixeGrátis.Autodesk.com.br/BIMb
ControleTransportadorasGestão Completaem TransportesCt-e, Pneus,Fretes, Financeiro.www.bsoft.com.br
Excel,AprendizadoRápidoAprenda ExcelCom MelhorMétodo de Ensino.AprendizadoGarantido! Vejaluciorezena.com.br
…
…
PROCV - Excel - Ambiente Office http://www.ambienteoffice.com.br/excel/PROCV/
1 de 8 11/09/2012 08:57
e pressionar ENTER:
A fórmula retornou 563, corretamente. Observe que ela possui 4 parâmetros:
=PROCV(valor_procura;matriz_tabela;n.º_índice_coluna;procura_intervalo)
valor_procura pode ser um valor ou uma referência (ou seja, uma outra célula do Excel que tenha um valor) ;
matriz_tabela é a tabela onde o valor_procura será pesquisado, verticalmente no primeiro intervalo. Essa tabela pode ter mais de umacoluna, e por isso é importante ressaltar que a coluna pesquisada sempre será a primeira coluna da tabela. Exemplo: no caso acima,matriz_tabela é B3:D7, o valor_procura será pesquisado no intervalo B3:B7 (ou seja, somente na coluna B) ;
n.º_índice_coluna é qual coluna o PROCV retornará à célula. Esse valor é um número inteiro igual ou maior que 1. No exemplo acima, foinecessário atribuir 2 a esse parâmetro para retornar quantos Pontos um Nome tem porque Pontos é a coluna logo à direita, ou seja, é acoluna 2 tendo-se como como 1 a coluna de referência. É importante lembrar que a matriz_tabela deve ser larga o suficiente paraacomodar o n.º_índice_coluna a ser usado na fórmula, ou seja, se você deseja usar 5 para o n.º_índice_coluna, a matriz_tabela deveser no mínimo, por exemplo, A1:E1000, ou D8:Y500. Se o n.º_índice_coluna ultrapassar a largura da matriz_tabela, o erro #REF! seráretornado à célula.
procura_intervalo pode ser VERDADEIRO/FALSO ou 0/1, e é opcional. Por enquanto, mantenha-o como 0 ou FALSO (tem o mesmo efeito,pessoalmente uso o 0 por praticidade) porque adiante será explicado como esse parâmetro pode ser usado.
É importante lembrar que o PROCV não distingue maiúsculas de minúsculas, isto é, se na matriz_tabela conter o registro Felipe e ovalor_procura for felipe, a fórmula tratará esse caso normalmente e retornará sua correspondência.
Para o nosso exemplo, como preencher a célula H5, para retornar a Cidade de um Nome específico? Será a mesma fórmula para retornar osPontos, somente alterando o parâmetro n.º_índice_coluna da fórmula de 2 para 3, já que se considerarmos a coluna Nome como 1, Pontosserá a 2 e então Cidade será a 3:
=PROCV(F5;B3:D7;3;0)
O resultado será, corretamente Búzios.
A próxima etapa é copiar a fórmula para todas as células da tabela a ser preenchida. Para fazer isso, precisamos fixar a referência da tabela aser pesquisada (matriz_tabela), senão a tabela de procura irá deslocar quando se colar fórmula abaixo.:
Em G5: =PROCV($F5;$B$3:$D$7;2;0)
Em H5: =PROCV($F5;$B$3:$D$7;3;0)
Nota: Clique aqui para aprender mais sobre referências relativas e absolutas.
Pronto, agora é só copiar essa fórmula para as todas as outras células das colunas, ou seja, copiar-se-á a célula G5 para todas as células dacoluna G e H5 para todas as células da coluna H.
Suprimindo Erros no PROCV
Caso um valor procurado não seja encontrado na tabela de busca, o Excel retorna #N/D para a célula:
PROCV - Excel - Ambiente Office http://www.ambienteoffice.com.br/excel/PROCV/
2 de 8 11/09/2012 08:57
Veja que o PROCV consegue retornar com sucesso as correspondências de Ricardo e ricardo, pois não distingue maiúsculas de minúsculas,como dito anteriormente. No entanto, ao procurar Henrique a função retorna o erro #N/D (não disponível) porque, obviamente, o registroHenrique não consta na tabela.
Muitos usuários acham esteticamente desagradável numa Planilha esses erros ficarem expostos. Há uma solução para que a fórmula retorneum resultado em branco no caso de uma correspondência ser encontrada. As fórmulas em G5, G6 e G7 seriam, respectivamente:
=SEERRO(PROCV(F5;B3:D7;2;0);"")
=SEERRO(PROCV(F6;B3:D7;2;0);"")
=SEERRO(PROCV(F7;B3:D7;2;0);"")
O resultado será:
Para visualizar a tabela azul acima, ficou bem mais agradável.
O funcionamento da fórmula SEERRO é simples: caso a expressão no primeiro parâmetro retornar um erro, o segundo parâmetro (que nossocaso, é vazio, dado pela duplas aspas) será retornado. Vale lembrar que a função SEERRO só pode ser usada a partir do Excel 2007.
O Parâmetro procura_intervaloConforme dito anteriormente, o parâmetro procura_intervalo é o último argumento do PROCV. Sabemos o comportamento da funçãoquando ele é FALSO. Observe a tabela abaixo para entender quando ele é VERDADEIRO:
O exemplo acima mostra a nota de alguns alunos, e o objetivo é atribuir o conceito correto de acordo com as regras da tabela verde.
A fórmula é E7 é:
=PROCV(D7;$G$5:$H$10;2;VERDADEIRO)
Copie a fórmula para baixo para completar a tabela azul.
Observe que, ao usar o argumento procura_intervalo como Verdadeiro, busca-se uma correspondência aproximada na tabela. Note quea correspondência sempre retorna o valor do limite inferior (exemplo: uma nota 59 busca a correspondência de 50, e não 60)
É imprescindível que a primeira coluna da matriz_tabela (ou seja, a coluna que são buscadas as correspondências) seja numérica e estejaclassificada em ordem crescente. Do contrário, essa forma de PROCV não funcionará corretamente.
Observe também que a matriz_tabela deve mostrar qual é o valor mínimo possível buscado (no nosso caso, 0), mas não precisa constar ovalor máximo possível (no nosso caso, 100).
Com esse parâmetro sendo Verdadeiro e a primeira coluna da matriz_tabela sendo composta por textos e não números, o PROCV retorna acorrespondência da linha de maior número.
PROCV - Excel - Ambiente Office http://www.ambienteoffice.com.br/excel/PROCV/
3 de 8 11/09/2012 08:57
Automatizando o n.º_índice_coluna
Vamos para um outro cenário. Suponha que tenhamos a tabela abaixo:
Note que nesse novo cenário temos um grande número de colunas. OK, então para preenchermos todo o conteúdo com PROCV, basta que:
Em E12: =PROCV(D12;$B$3:$Y$7;2;0) , e então copiar a fórmula por toda a coluna ;
Em F12: =PROCV(D12;$B$3:$Y$7;3;0) , e então copiar a fórmula por toda a coluna ;
Em G12: =PROCV(D12;$B$3:$Y$7;4;0) , e então copiar a fórmula por toda a coluna ;
E assim por diante, sempre incrementando o n.º_índice_coluna em uma unidade. Há um jeito mais fácil para entramos uma célula em E12e copiá-la para todas as células da tabela azul:
=PROCV($D12;$B$3:$Y$7;COLUNA(B:B);0) , e copiar a fórmula para todas as células da tabela.
$D12 deve estar com a coluna em referência absoluta para que quando a fórmula seja colada lateralmente, o valor de procura(valor_procura) se mantenha sempre na mesma coluna. A novidade aqui é o trecho COLUNA(B:B), que retorna qual é o número da colunade uma referência. Ora, sabemos que a coluna B é a 2. Como esse trecho está em referência relativa, a célula à sua direita será na coluna C,que corresponde ao 3 e assim por diante.
PROCV em Referências Externas
O PROCV pode ser usado para buscar informações em outra Planilha da Pasta de Trabalho ou até mesmo de planilhas de outras pastas detrabalho.
PROCV em Outra Planilha
Considere a situação:
Essas duas planilhas estão na mesma pasta de trabalho. O objetivo é preencher a tabela Nomes com as informações da planilha Tabelausando o PROCV. Para a coluna Pontos, isso pode ser feito com a fórmula:
=PROCV($B3;Tabela!$B$3:$D$7;2;0)
Observe o termpo Tabela!$B$3:$D$7. Antes da referência há um nome com exclamação (Tabela!), que corresponde de qual tabela areferência aponta ($B$3:$D$7).
Nota: Se o nome da outra planilha possuir espaços, como Tabela de Dados, seria necessário usar aspas simples na representação dareferência, tornando-se, por exemplo, 'Tabela de Dados'!$B$3:$D$7. Vale ressaltar que o símbolo de exclamação fica fora das aspas.
Quando faço esse tipo de PROCV, costumo fazer a notação da matriz_tabela de uma forma diferente, conforme a seguir:
=PROCV($B3;Tabela!$B:$D;2;0)
Note que ao invés de utilizar 'Tabela de Dados'!$B$3:$D$7, uso Tabela!$B:$D. Isso economiza tempo para digitação da fórmulasabendo-se que CTRL+Barra de espaço, no Excel, seleciona uma coluna inteira (em tempo: SHIFT+Barra de espaço seleciona uma linha).
PROCV - Excel - Ambiente Office http://www.ambienteoffice.com.br/excel/PROCV/
4 de 8 11/09/2012 08:57
PROCV em Outra Pasta de Trabalho
E se a tabela de pesquisa de um valor estiver em outra pasta de trabalho? Veja o exemplo abaixo:
Temos duas pastas de trabalho: Preencher e Banco de Informações. Para preencher os dados da coluna Pontos de Nomes usando a tabela daplanilha Tabela de Dados da pasta de trabalho Banco de Informações, use a fórmula:
=PROCV($B3;'[Banco de Informações.xlsx]Tabela de Dados'!$B:$D;2;0)
Observe que, para esse caso, foi necessário referenciar outra pasta de trabalho, além de sua planilha. Para referenciar uma pasta de trabalhoativa, coloque-a entre colchetes. Vale novamente ressaltar as aspas simples: a de início fica antes do colchete e a segunda antes doexclamação.
Será que é necessário abrir as duas planilhas toda vez que necessitar povoar a tabela de Nomes na pasta de trabalho Preencher? Não.Observe que, se você fechar a pasta de trabalho Banco de Informações, o Excel automaticamente irá adaptar sua fórmula de PROCV paraalgo do tipo:
=PROCV($B3;'C:\Users\Padrao\Desktop\[Banco de Informações.xlsx]Tabela de Dados'!$B:$D;2;0)
Como a pasta que contém a tabela de referência foi fechada, é necessário que o Excel saiba todo o caminho do arquivo de consulta para queele consiga atualizar os dados da planilha Nomes. Então, ele automaticamente preenche o caminho em todas as ocorrências da fórmula natabela.
Retornar Todas as Correspondências de um PROCVA limitação da função PROCV é que ela encontra apenas a primeira ocorrência de uma correspondência num vetor. Ás vezes, precisamosretornar todas essas correspondências. Se necessita disso, visite o artigo Retornar Todas as Correspondências de um PROCV.
PROCV com Critérios
Considere a tabela abaixo:
O objetivo é retornar o Código através de um PROCV que como entrada de parâmetros tem Felipe, Tarde e Escritório. Observe que no totaltem-se duas correspondências para essa busca. Duas fórmulas podem ser usadas para esse caso, uma que retorna a primeiracorrespondência na tabela, e outra que retorna a última.
Para retornar a primeira correspondência, se B14=Felipe, C14=Tarde, D14=Escritório:
=ÍNDICE(E3:E11;CORRESP(1;(B3:B11=B14)*(C3:C11=C14)*(D3:D11=D14);0)) (fórmula matricial)
Para retornar a última correspondência, se B18=Felipe, C18=Tarde, D18=Escritório:
=PROC(1;(1/(B3:B11=B18)*(C3:C11=C18)*(D3:D11=D18));E3:E11)
A imagem abaixo ilustra os dois casos:
PROCV - Excel - Ambiente Office http://www.ambienteoffice.com.br/excel/PROCV/
5 de 8 11/09/2012 08:57
Note que se houver um valor intermediário, o mesmo não será possível de se obter.
Explicação
Ambas as fórmulas possuem o termo (B3:B11=B14)*(C3:C11=C14)*(D3:D11=D14), que pode ser representado abaixo:
Vamos chamar a coluna Resultado, que possui 0 e 1, de vetor. Obviamente, temos 1 apenas quando as três condições são satisfeitas(B3:B11=B14)*(C3:C11=C14)*(D3:D11=D14).
Reescrevendo a solução que possui ÍNDICE, temos:
=ÍNDICE(E3:E11;CORRESP(1;vetor;0)) (fórmula matricial)
CORRESP varre um vetor do início até o fim. Logo, será procurado 1 em vetor. A função retorna 4, já que o quarto elemento de vetor é 1.Reescrevendo a fórmula:
=ÍNDICE(E3:E11;4) (fórmula matricial)
Essa função retornará o quarto elemento do vetor E3:E11, que é 70.
De forma análoga, ao reescrevermos a solução usando PROC:
=PROC(1;1/vetor;E3:E11)
O cálculo 1/vetor é mostrado abaixo:
PROC, ao contrário de CORRESP, varre um vetor do último elemento ao primeiro. Logo, PROC buscará 1 em 1/vetor de trás para a frente,encontrando o oitavo elemento, e retornará o oitavo elemento de E3:E11, que é 150.
PROCV - Excel - Ambiente Office http://www.ambienteoffice.com.br/excel/PROCV/
6 de 8 11/09/2012 08:57
Procurar Valores à Esquerda de uma Tabela
Observe a situação abaixo:
Seu objetivo é procurar os valores da coluna E em C, e retornar os Pontos e Cidade de cada ocorrência. A fórmula abaixo, em F2, não servepara nós:
=PROCV($E2;$A$2:$C$6;2;0)
O resultado retornado será #N/D. Isso ocorre porque, conforme explicado no início deste artigo, Ricardo será procurado na primeira colunada matriz_tabela, isto é, Pontos. Como nenhuma ocorrência é encontrada, o erro é retornado.
Existem algumas formas de se trabalhar nessa situação, conforme mostrado abaixo.
Fazer Cópia de Coluna para o Início da matriz_tabela
Se sua matriz_tabela for pequena, você poderia clicar sobre a coluna C, pressionar Ctrl+C, em seguida clicar com o botão da direita em A eselecionar Inserir células copiadas. O resultado final será como se segue:
Agora, basta inserir a fórmula em G2 a fórmula
=PROCV($F2;$A$2:$C$6;COLUNA(B:B);0)
e copiá-la por todo intervalo G2:H26.
Note que ao se inserir uma coluna no início da tabela verde, todas referências foram deslocadas em uma coluna.
No entanto, nem sempre é possível utilizar essa técnica. Pode ser que às vezes a matriz_tabela esteja bloqueada ou as células estãodesconfortavelmente mescladas e o usuário não pode copiar uma coluna da matriz_tabela. Os exemplos a seguir tratam dessa situação.
Utilizando Funções CORRESP, DESLOC e ÍNDICE
Para a tabela original, poderíamos escrever a fórmula em órmula em F2:
=DESLOC(A$1;CORRESP($E2;$C$2:$C$6;0);0)
Então, copiar e colar essa fórmula para o intervalo G2:H26.
Poderíamos também usar a fórmula em F2:
=ÍNDICE(A$2:A$6;CORRESP($E2;$C$2:$C$6;0))
E copiá-la para o intervalo G2:H26.
Explicação
Veja que nas duas fórmulas são utilizadas a função CORRESP. A função CORRESP retorna o índice do elemento $E2 no vetor $C$2:$C$6.No nosso caso, por exemplo, Rodrigo retornaria o valor 4, pois no vetor $C$2:$C$6, Rodrigo é o 4o elemento. O terceiro argumento deCORRESP, o número 0, indica que estamos querendo uma correspondência exata, e não aproximada.
A primeira fórmula ficaria então na forma (para $E2=Rodrigo):
=DESLOC(A$1;4;0)
A função DESLOC translada a partir de uma referência uma certa quantidade de linhas e colunas, na forma
=DESLOC(referencia;linhas;colunas)
Logo, no nosso exemplo de DESLOC, a partir de A$1 desloca-se 4 linhas para baixo e 0 colunas, retornando a correspondência desejadapara Rodrigo, que é 1129.
PROCV - Excel - Ambiente Office http://www.ambienteoffice.com.br/excel/PROCV/
7 de 8 11/09/2012 08:57
A segunda fórmula ficaria:
=ÍNDICE(A$2:A$6;4)
A função índice retorna o elemento número 4 do vetor A$2:A$6, que é 1129.
Rearranjar matriz_tabela Dentro do PROCV
Para a tabela original, poderíamos escrever a fórmula em F2:
=PROCV($E2;ESCOLHER({1\2};$C$2:$C$6;A$2:A$6);2;0)
Atenção: No Excel 2007 ou inferior, troque o símbolo \ por .
Então, copiar e colar essa fórmula para o intervaldo G2:H26.
A função ESCOLHER é da forma:
ESCOLHER(número;termo1;termo2;termo3;...;termo_n)
Se número for igual a 1, retorna-se o termo1. Se número for igual a 2, retorna-se o termo2 e assim por diante. Quando inserimos umvetor dentro do parâmetro número, como {1\2}, criamos dinamicamente uma matriz (tabela) cuja primeira coluna é formada por$C$2:$C$6 e segunda coluna é A$2:A$6. Como procura_intervalo é 2, retorna-se corretamente a correspondência de $C$2:$C$6 emA$2:A$6.
Meus agradecimentos a mcbranco por essa fórmula.
Referências
Para fazer o download de todos os exemplos desta página, clique aqui.
---
Site de Felipe Costa Gualberto.
Belo Horizonte, Brasil, 2009-2012.
Empresas Familiares Profissionalização e Sucessão IX Evento em São Paulo www.nbs.com.br
Inventários de Estoques RGIS - Empresa líder em inventários Acuracidade e Abrangência Nacional www.rgis.com
Supera - Thin Client Indústria de Thin Client e Thin-PC Maior capacidade de mem.RAM e flash www.supera.ind.br
PROCV - Excel - Ambiente Office http://www.ambienteoffice.com.br/excel/PROCV/
8 de 8 11/09/2012 08:57
Top Related