Académique Documents
Professionnel Documents
Culture Documents
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 (que contm muitas
linhas) com os Pontos de cada Nome, de acordo com a tabela de referncia, 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 frmula PROCV procura um valor ou
referncia numa tabela e retorna a correspondncia na clula. Nesse exemplo, poderamos
escrever emG5:
=PROCV(F5;B3:D7;2;0)
e pressionar ENTER:
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 frmula 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:
O Parmetro procura_intervalo
Conforme dito anteriormente, o parmetro procura_intervalo o ltimo argumento
do PROCV. Sabemos o comportamento da funo 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. Note que a correspondncia sempre retorna
o valor do limite inferior (exemplo: uma nota 59 busca a correspondncia de 50, e no 60)
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:
Note que nesse novo cenrio temos um grande nmero de colunas. OK, ento para
preenchermos todo o contedo com PROCV, basta 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 em 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 da coluna
de uma referncia. Ora, sabemos que a coluna B a 2. Como esse trecho est em referncia
relativa, a clula sua direita ser na coluna C, que corresponde ao 3 e assim por diante.
Considere a situao:
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 de 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? No. Observe que, se voc fechar a pasta de
trabalho Banco de Informaes, o Excel automaticamente ir adaptar sua frmula
de PROCV 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 ocorrncias
da frmula na tabela.
Explicao
Ambas as frmulas 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 trs condies so satisfeitas(B3:B11=B14)*(C3:C11=C14)*(D3:D11=D14).
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 esto desconfortavelmente mescladas e o
usurio no pode copiar uma coluna da matriz_tabela. Os exemplos a seguir tratam dessa
situao.
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 deCORRESP, 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 paraRodrigo, que 1129.