You are on page 1of 11

13/10/13

PROCV - Excel - Ambiente Office

Busque neste site:

Pesquisar

PROCV
ltima atualizao: 06/12/2011 Introduo Automatizando o n._ndice_coluna O Parmetro procura_intervalo PROCV em Referncias Externas -PROCV em Outra Planilha -PROCV em Outra Pasta de Trabalho Retornar Todas as Correspondncias de um PROCV PROCV com Critrios -Explicao Procurar Valores Esquerda de uma Tabela -Fazer Cpia de Coluna para o Incio da matriz_tabela -Utilizando Funes CORRESP, DESLOC e NDICE -Explicao -Rearranjar matriz_tabela Dentro do PROCV Referncias

Introduo

A frmula PROCV uma das funes mais usadas no Excel. Tal fato se justifica pela grande utilidade da mesma: retorna a correspondncia da coluna vizinha de um elemento em uma tabela. Exemplo: na tabela abaixo, deseja-se preencher a tabela azul ( contm muitas linhas) com os Pontos de cada Nome, de acordo com a tabela de referncia, na cor verde:

www.ambienteoffice.com.br/excel/PROCV/

1/11

13/10/13

PROCV - Excel - Ambiente Office

Considerando que a tabela azul tem mais de mil linhas, seria gasto um tempo muito grande para realizar a tarefa povoando-a manualmente. A frmula PROCV procura um valor ou referncia numa tabela e retorna a correspondncia na clula. Nesse exemplo poderamos escrever em G5 : =PROCV(F5;B3:D7;2;0)

e pressionar ENTER:

A frmula retornou 563 , corretamente. Observe que ela possui 4 parmetros: =PROCV(valor_procura;matriz_tabela;n._ndice_coluna;procura_intervalo) valor_procura pode ser um valor ou uma referncia (ou seja, uma outra clula 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 uma coluna, 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 clula. Esse valor um nmero inteiro igual ou maior que 1 . No exemplo acim foi necessrio atribuir 2 a esse parmetro para retornar quantos Pontos um Nome tem porque Pontos a coluna logo direita, ou se a coluna 2 tendo-se como como 1 a coluna de referncia. importante lembrar que a matriz_tabela deve ser larga o suficiente pa acomodar o n._ndice_coluna a ser usado na frmula, ou seja, se voc deseja usar 5 para o n._ndice_coluna, a matriz_tabela deve ser no mnimo, por exemplo, A1:E1000 , ou D8:Y500 . Se o n._ndice_coluna ultrapassar a largura da matriz_tabela, o erro #REF! ser retornado clula. 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 parmetro pode ser usado. importante lembrar que o PROCV no distingue maisculas de minsculas, isto , se na matriz_tabela conter o registro Felipe valor_procura for felipe, a frmula tratar esse caso normalmente e retornar sua correspondncia.

Para o nosso exemplo, como preencher a clula H5 , para retornar a Cidade de um Nome especfico? Ser a mesma frmula para reto os Pontos , somente alterando o parmetro n._ndice_coluna da frmula de 2 para 3 , j que se considerarmos a coluna Nome Pontos ser a 2 e ento Cidade ser a 3 : =PROCV(F5;B3:D7;3;0)

www.ambienteoffice.com.br/excel/PROCV/

2/11

13/10/13

PROCV - Excel - Ambiente Office

O resultado ser, corretamente Bzios .

A prxima etapa copiar a frmula para todas as clulas da tabela a ser preenchida. Para fazer isso, precisamos fixar a referncia d tabela a ser pesquisada (matriz_tabela), seno a tabela de procura ir deslocar quando se colar frmula 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 referncias relativas e absolutas. Pronto, agora s copiar essa frmula para as todas as outras clulas das colunas, ou seja, copiar-se- a clula G5 para todas as clulas da coluna G e H5 para todas as clulas da coluna H.

Suprimindo Erros no PROCV


Caso um valor procurado no seja encontrado na tabela de busca, o Excel retorna #N/D para a clula:

Veja que o PROCV consegue retornar com sucesso as correspondncias de Ricardo e ricardo, pois no distingue maisculas de minsculas, como dito anteriormente. No entanto, ao procurar Henrique a funo retorna o erro #N/D (no disponvel) porque, obviamente, o registro Henrique no consta na tabela.

Muitos usurios acham esteticamente desagradvel numa Planilha esses erros ficarem expostos. H uma soluo para que a frmul retorne um resultado em branco no caso de uma correspondncia ser encontrada. As frmulas 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 agradvel. www.ambienteoffice.com.br/excel/PROCV/

3/11

13/10/13

PROCV - Excel - Ambiente Office


Para visualizar a tabela azul acima, ficou bem mais agradvel.

O funcionamento da frmula SEERRO simples: caso a expresso no primeiro parmetro retornar um erro, o segundo parmetro (q nosso caso, vazio, dado pela duplas aspas) ser retornado. Vale lembrar que a funo SEERRO s pode ser usada a partir do Exc 2007.

O Parmetro procura_intervalo
Conforme dito anteriormente, o parmetro procura_intervalo o ltimo argumento do PROCV. Sabemos o comportamento da quando 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 frmula E7 : =PROCV(D7;$G$5:$H$10;2;VERDADEIRO) Copie a frmula para baixo para completar a tabela azul. Observe que, ao usar o argumento procura_intervalo como Verdadeiro, busca-se uma correspondncia aproximada na tabela. que a correspondncia sempre retorna o valor do limite inferior (exemplo: uma nota 59 busca a correspondncia de 50 , e no

imprescindvel que a primeira coluna da matriz_tabela (ou seja, a coluna que so buscadas as correspondncias) seja numrica e esteja classificada em ordem crescente. Do contrrio, essa forma de PROCV no funcionar corretamente. Observe tambm que a matriz_tabela deve mostrar qual o valor mnimo possvel buscado (no nosso caso, 0 ), mas no precisa constar o valor mximo possvel (no nosso caso, 100 ). Com esse parmetro sendo Verdadeiro e a primeira coluna da matriz_tabela sendo composta por textos e no nmeros, o PROCV retorna a correspondncia da linha de maior nmero.

Automatizando o n._ndice_coluna
Vamos para um outro cenrio. Suponha que tenhamos a tabela abaixo:

www.ambienteoffice.com.br/excel/PROCV/

4/11

13/10/13

PROCV - Excel - Ambiente Office

Note que nesse novo cenrio temos um grande nmero de colunas. OK, ento para preenchermos todo o contedo com PROCV que: Em E12 : =PROCV(D12;$B$3:$Y$7;2;0) , e ento copiar a frmula por toda a coluna ; Em F12 : =PROCV(D12;$B$3:$Y$7;3;0) , e ento copiar a frmula por toda a coluna ; Em G12 : =PROCV(D12;$B$3:$Y$7;4;0) , e ento copiar a frmula por toda a coluna ;

E assim por diante, sempre incrementando o n._ndice_coluna em uma unidade. H um jeito mais fcil para entramos uma clula e E12 e copi-la para todas as clulas da tabela azul: =PROCV($D12;$B$3:$Y$7;COLUNA(B:B);0) , e copiar a frmula para todas as clulas da tabela.

$D12 deve estar com a coluna em referncia absoluta para que quando a frmula 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 nmero d coluna de uma referncia. Ora, sabemos que a coluna B a 2 . Como esse trecho est em referncia relativa, a clula sua direita s na coluna C, que corresponde ao 3 e assim por diante.

PROCV em Referncias Externas


O PROCV pode ser usado para buscar informaes em outra Planilha da Pasta de Trabalho ou at mesmo de planilhas de outras pastas de trabalho.

PROCV em Outra Planilha


Considere a situao:

www.ambienteoffice.com.br/excel/PROCV/

5/11

13/10/13

PROCV - Excel - Ambiente Office

Essas duas planilhas esto na mesma pasta de trabalho. O objetivo preencher a tabela Nomes com as informaes da planilha usando o PROCV. Para a coluna Pontos , isso pode ser feito com a frmula: =PROCV($B3 ;Tabela!$B$3:$D$7;2;0)

Observe o termpo Tabela!$B$3:$D$7 . Antes da referncia h um nome com exclamao (Tabela!), que corresponde de qual tabela referncia aponta ($B$3:$D$7 ).

Nota: Se o nome da outra planilha possuir espaos, como Tabela de Dados , seria necessrio usar aspas simples na representao da referncia, tornando-se, por exemplo, 'Tabela de Dados'!$B$3:$D$7 . Vale ressaltar que o smbolo de exclamao fica fora das asp Quando fao esse tipo de PROCV, costumo fazer a notao da matriz_tabela de uma forma diferente, conforme a seguir: =PROCV($B3;Tabela!$B:$D;2;0)

Note que ao invs de utilizar 'Tabela de Dados'!$B$3:$D$7 , uso Tabela!$B:$D. Isso economiza tempo para digitao da frmula sabendo-se que CTRL+Barra de espao, no Excel, seleciona uma coluna inteira (em tempo: SHIFT+Barra de espao seleciona uma linha

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:

www.ambienteoffice.com.br/excel/PROCV/

6/11

13/10/13

PROCV - Excel - Ambiente Office

Temos duas pastas de trabalho: Preencher e Banco de Informaes . Para preencher os dados da coluna Pontos de Nomes usando a tabela da planilha Tabela de Dados da pasta de trabalho Banco de Informaes , use a frmula: =PROCV($B3;'[Banco de Informaes.xlsx]Tabela de Dados'!$B:$D;2;0)

Observe que, para esse caso, foi necessrio referenciar outra pasta de trabalho, alm de sua planilha. Para referenciar uma pasta d trabalho ativa, coloque-a entre colchetes. Vale novamente ressaltar as aspas simples: a de incio fica antes do colchete e a segunda antes do exclamao. Ser que necessrio abrir as duas planilhas toda vez que necessitar povoar a tabela de Nomes na pasta de trabalho Preencher Observe que, se voc fechar a pasta de trabalho Banco de Informaes , o Excel automaticamente ir adaptar sua frmula de para algo do tipo: =PROCV($B3 ;'C:\Users\Padrao\Desktop\[Banco de Informaes.xlsx]Tabela de Dados'!$B:$D;2;0)

Como a pasta que contm a tabela de referncia foi fechada, necessrio que o Excel saiba todo o caminho do arquivo de consulta para que ele consiga atualizar os dados da planilha Nomes . Ento, ele automaticamente preenche o caminho em todas as ocorrnci da frmula na tabela.

Retornar Todas as Correspondncias de um PROCV

A limitao da funo PROCV que ela encontra apenas a primeira ocorrncia de uma correspondncia num vetor. s vezes, precisamos retornar todas essas correspondncias. Se necessita disso, visite o artigo Retornar Todas as Correspondncias de um PROCV.

PROCV com Critrios


Considere a tabela abaixo:

O objetivo retornar o Cdigo atravs de um PROCV que como entrada de parmetros tem Felipe, Tarde e Escritrio. Observe que no total tem-se duas correspondncias para essa busca. Duas frmulas podem ser usadas para esse caso, uma que retorna a primeira correspondncia na tabela, e outra que retorna a ltima. Para retornar a primeira correspondncia, se B14 =Felipe, C14 =Tarde, D14 =Escritrio: =NDICE(E3:E11;CORRESP(1;(B3:B11=B14)*(C3:C11=C14)*(D3:D11=D14);0)) (frmula matricial) Para retornar a ltima correspondncia, se B18=Felipe, C18 =Tarde, D18 =Escritrio: =PROC(1;(1/(B3:B11=B18)*(C3:C11=C18)*(D3:D11=D18));E3:E11) A imagem abaixo ilustra os dois casos:

www.ambienteoffice.com.br/excel/PROCV/

7/11

13/10/13

PROCV - Excel - Ambiente Office

Note que se houver um valor intermedirio, o mesmo no ser possvel de se obter.

Explicao
Ambas as frmulas possuem o termo (B3:B11=B14)*(C3:C11=C14)*(D3:D11=D14) , que pode ser representado abaixo:

www.ambienteoffice.com.br/excel/PROCV/

8/11

13/10/13

PROCV - Excel - Ambiente Office

Vamos chamar a coluna Resultado, que possui 0 e 1 , de vetor. Obviamente, temos 1 apenas quando as trs condies so satisfeita (B3:B11=B14)*(C3:C11=C14)*(D3:D11=D14) . Reescrevendo a soluo que possui NDICE, temos: =NDICE(E3:E11;CORRESP(1;vetor;0)) (frmula matricial) CORRESP varre um vetor do incio at o fim. Logo, ser procurado 1 em vetor. A funo retorna 4 , j que o quarto elemento de 1 . Reescrevendo a frmula: =NDICE(E3:E11;4) (frmula matricial) Essa funo retornar o quarto elemento do vetor E3:E11 , que 70 .

De forma anloga, ao reescrevermos a soluo usando PROC: =PROC(1;1/vetor;E3:E11) O clculo 1/vetor mostrado abaixo:

PROC, ao contrrio de CORRESP, varre um vetor do ltimo elemento ao primeiro. Logo, PROC buscar 1 em 1/vetor de trs para a frente, encontrando o oitavo elemento, e retornar o oitavo elemento de E3:E11 , que 150 .

Procurar Valores Esquerda de uma Tabela


Observe a situao abaixo:

Seu objetivo procurar os valores da coluna E em C, e retornar os Pontos e Cidade de cada ocorrncia. A frmula abaixo, em serve para ns: =PROCV($E2;$A$2:$C$6;2;0) O resultado retornado ser #N/D. Isso ocorre porque, conforme explicado no incio deste artigo, Ricardo ser procurado na primeira coluna da matriz_tabela, isto , Pontos . Como nenhuma ocorrncia encontrada, o erro retornado. Existem algumas formas de se trabalhar nessa situao, conforme mostrado abaixo.

Fazer Cpia de Coluna para o Incio da matriz_tabela


www.ambienteoffice.com.br/excel/PROCV/ 9/11

13/10/13

PROCV - Excel - Ambiente Office

Se sua matriz_tabela for pequena, voc poderia clicar sobre a coluna C, pressionar Ctrl+C, em seguida clicar com o boto da direita A e selecionar Inserir clulas copiadas. O resultado final ser como se segue:

Agora, basta inserir a frmula em G2 a frmula =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 incio da tabela verde, todas referncias foram deslocadas em uma coluna.

No entanto, nem sempre possvel utilizar essa tcnica. Pode ser que s vezes a matriz_tabela esteja bloqueada ou as clulas es desconfortavelmente mescladas e o usurio no pode copiar uma coluna da matriz_tabela. Os exemplos a seguir tratam dessa situao.

Utilizando Funes CORRESP, DESLOC e NDICE


Para a tabela original, poderamos escrever a frmula em rmula em F2 : =DESLOC(A$1;CORRESP($E2;$C$2:$C$6;0);0) Ento, copiar e colar essa frmula para o intervalo G2:H26 . Poderamos tambm usar a frmula em F2 : =NDICE(A$2:A$6;CORRESP($E2;$C$2:$C$6;0)) E copi-la para o intervalo G2:H26 .

Explicao

Veja que nas duas frmulas so utilizadas a funo CORRESP. A funo 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 de CORRESP, o nmero 0 , indica que estamos querendo uma correspondncia exata, e no aproximada. A primeira frmula ficaria ento na forma (para $E2=Rodrigo): =DESLOC(A$1;4;0) A funo DESLOC translada a partir de uma referncia 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 correspondncia desejada para Rodrigo, que 1129 .

A segunda frmula ficaria: =NDICE(A$2:A$6;4) A funo ndice retorna o elemento nmero 4 do vetor A$2:A$6 , que 1129 .

Rearranjar matriz_tabela Dentro do PROCV


Para a tabela original, poderamos escrever a frmula em F2 : =PROCV($E2;ESCOLHER({1\2};$C$2:$C$6;A$2:A$6);2;0) Ateno: No Excel 2007 ou inferior, troque o smbolo \ por . Ento, copiar e colar essa frmula para o intervaldo G2:H26 . A funo ESCOLHER da forma: ESCOLHER(nmero;termo1;termo2;termo3;...;termo_n)

Se nmero for igual a 1 , retorna-se o termo1 . Se nmero for igual a 2 , retorna-se o termo2 e assim por diante. Quando inserimos vetor dentro do parmetro nmero, 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 correspondncia de $C$2:$C$

www.ambienteoffice.com.br/excel/PROCV/

10/11

13/10/13
em A$2:A$6 .

PROCV - Excel - Ambiente Office

Meus agradecimentos a mcbranco por essa frmula.

Referncias
Para fazer o download de todos os exemplos desta pgina, clique aqui.

Planilhas Excel Prontas


www.luz.vc/modelo-planilhas

Planilhas de Excel Prontas com Vdeo Tutoriais. Cadastre-se Agora!


--Site de Felipe Costa Gualberto. Belo Horizonte, Brasil, 2009-2013 . benzadeus5@ambienteoffice.com.br

www.ambienteoffice.com.br/excel/PROCV/

11/11

You might also like