Sugestão: Experimente utilizar as novas funções PROCX e XMATCH , versões melhoradas das funções descritas neste artigo. Estas novas funções funcionam em qualquer direção e devolvem correspondências exatas por predefinição, tornando-as mais fáceis e convenientes de utilizar do que as suas antecessoras.
Suponha que tem uma lista de números de localização do escritório e que precisa de saber que funcionários estão em cada escritório. A folha de cálculo é enorme, pelo que poderá considerar que é uma tarefa desafiante. Na verdade, é muito fácil de fazer com uma função de pesquisa.
As funções PROCV e PROCH , juntamente com ÍNDICE e CORRESP, são algumas das funções mais úteis no Excel.
Nota: A funcionalidade Assistente de Pesquisas já não está disponível no Excel.
Eis um exemplo de como utilizar a função PROCV.
PROCV(B2,C2:E7,3,VERDADEIRO)
Neste exemplo, B2 é o primeiro argumento : um elemento de dados de que a função precisa para funcionar. Para PROCV, este primeiro argumento é o valor que pretende localizar. Este argumento pode ser uma referência de célula ou um valor fixo, como "smith" ou 21 000. O segundo argumento é o intervalo de células, C2-:E7, no qual pretende procurar o valor que pretende localizar. O terceiro argumento é a coluna nesse intervalo de células que contém o valor que procura.
O quarto argumento é opcional. Introduza VERDADEIRO ou FALSO. Se introduzir VERDADEIRO ou deixar o argumento em branco, a função devolve uma correspondência aproximada do valor que especificou no primeiro argumento. Se introduzir FALSO, a função corresponderá ao valor fornecido pelo primeiro argumento. Por outras palavras, deixar o quarto argumento em branco ou introduzir VERDADEIRO dá-lhe mais flexibilidade.
Este exemplo mostra-lhe como a função funciona. Quando introduz um valor na célula B2 (o primeiro argumento), PROCV procura as células no intervalo C2:E7 (segundo argumento) e devolve a correspondência aproximada mais próxima da terceira coluna no intervalo, coluna E (terceiro argumento).
O quarto argumento está vazio, pelo que a função devolve uma correspondência aproximada. Se não estivesse, teria de introduzir um dos valores das colunas C ou D para obter qualquer resultado.
Quando estiver confortável com a função PROCV, a função PROCH é igualmente fácil de utilizar. Introduz os mesmos argumentos, mas este procura em linhas em vez de colunas.
Utilizar ÍNDICE e CORRESP em vez de PROCV
Existem determinadas limitações com a utilização da função PROCV: a função PROCV só pode procurar um valor da esquerda para a direita. Isto significa que a coluna que contém o valor que procura deve estar sempre localizada à esquerda da coluna que contém o valor devolvido. Agora, se a sua folha de cálculo não for criada desta forma, não utilize a função PROCV. Em vez disso, utilize a combinação das funções ÍNDICE e CORRESP.
Este exemplo apresenta uma pequena lista onde o valor que pretendemos procurar, Carcavelos, não se encontra na coluna mais à esquerda. Por isso, não podemos utilizar a função PROCV. Em vez disso, iremos utilizar a função CORRESP para localizar Carcavelos no intervalo B1:B11. Pode ser encontrado na linha 4. Em seguida, a função ÍNDICE utiliza esse valor como o argumento de pesquisa e localiza a população de Carcavelos na coluna 4 (coluna D). A fórmula utilizada é apresentada na célula A14.
Para obter mais exemplos de utilização de ÍNDICE e CORRESP em vez de PROCV, consulte o artigo https://www.mrexcel.com/excel-tips/excel-vlookup-index-match/ por Bill Jelen, MVP da Microsoft.
Experimente
Se quiser experimentar as funções de pesquisa antes de experimentá-las com os seus próprios dados, eis alguns dados de exemplo.
Exemplo de PROCV no trabalho
Copie os seguintes dados para uma folha de cálculo em branco.
Sugestão: Antes de colar os dados no Excel, defina as larguras das colunas A a C para 250 píxeis e clique em Moldar Texto( separador Base, grupo Alinhamento ).
Densidade |
Humidade |
Temperatura |
0,457 |
3,55 |
500 |
0,525 |
3,25 |
400 |
0,606 |
2,93 |
300 |
0,675 |
2,75 |
250 |
0,746 |
2,57 |
200 |
0,835 |
2,38 |
150 |
0,946 |
2,17 |
100 |
1,09 |
1,95 |
50 |
1,29 |
1,71 |
0 |
Fórmula |
Descrição |
Resultado |
=PROCV(1,A2:C10,2) |
Utilizando uma correspondência aproximada, procura o valor 1 na coluna A, localiza o valor maior inferior ou igual a 1 na coluna A, que é 0,946 e devolve o valor da coluna B na mesma linha. |
2,17 |
=PROCV(1,A2:C10,3,VERDADEIRO) |
Utilizando uma correspondência aproximada, procura o valor 1 na coluna A, localiza o valor maior inferior ou igual a 1 na coluna A, que é 0,946 e devolve o valor da coluna C na mesma linha. |
100 |
=PROCV(0.7,A2:C10,3,FALSO) |
Utilizando uma correspondência exata, procura o valor 0,7 na coluna A. Por não haver uma correspondência exata na coluna A, é devolvido um erro. |
#N/D |
=PROCV(0.1,A2:C10,2,VERDADEIRO) |
Utilizando uma correspondência aproximada, procura o valor 0,1 na coluna A. Porque 0,1 é inferior ao valor menor na coluna A, é devolvido um erro. |
#N/D |
=PROCV(2,A2:C10,2,VERDADEIRO) |
Utilizando uma correspondência aproximada, procura o valor 2 na coluna A, localiza o valor maior inferior ou igual a 2 na coluna A, que é 1,29 e devolve o valor da coluna B na mesma linha. |
1,71 |
Exemplo de PROCH
Copie todas as células nesta tabela e cole-as na célula A1 numa folha de cálculo em branco no Excel.
Sugestão: Antes de colar os dados no Excel, defina as larguras das colunas A a C para 250 píxeis e clique em Moldar Texto( separador Base, grupo Alinhamento ).
Eixos |
Rolamentos |
Parafusos |
4 |
4 |
9 |
5 |
7 |
10 |
6 |
8 |
11 |
Fórmula |
Descrição |
Resultado |
=PROCH("Eixos"; A1:C4; 2; VERDADEIRO) |
Procura "Eixos" na linha 1 e devolve o valor da linha 2 que está na mesma coluna (coluna A). |
4 |
=PROCH("Rolamentos"; A1:C4;3; FALSO) |
Procura "Rolamentos" na linha 1 e devolve o valor da linha 3 que está na mesma coluna (coluna B). |
7 |
=PROCH("R"; A1:C4;3; VERDADEIRO) |
Procura "R" na linha 1 e devolve o valor da linha 3 que está na mesma coluna. Como não é encontrada uma correspondência exata de "R", é utilizado o valor maior na linha 1 menor que "R": "Eixos," na coluna A. |
5 |
=PROCH("Parafusos"; A1:C4; 4) |
Procura "Parafusos" na linha 1 e devolve o valor da linha 4 que está na mesma coluna (coluna C). |
11 |
=PROCH(3; {1;2;3;"a";"b";"c";"d";"e";"f"}, 2, VERDADEIRO) |
Procura o número 3 na constante da matriz de três linhas e devolve o valor da linha 2 na mesma coluna (neste caso, terceira). Existem três linhas de valores na constante de matriz, cada linha separada por um ponto e vírgula (;). Como "c" está na linha 2 e na mesma coluna que 3, é devolvido "c". |
c |
Exemplos de ÍNDICE e CORRESP
Este último exemplo utiliza as funções ÍNDICE e CORRESP em conjunto para devolver o número da fatura mais antigo e a data correspondente para cada uma das cinco cidades. Uma vez que a data é devolvida como um número, utilizamos a função TEXTO para formatá-la como uma data. A função ÍNDICE utiliza o resultado da função CORRESP como o seu argumento. A combinação das funções ÍNDICE e CORRESP é utilizada duas vezes na mesma fórmula: primeiro, para devolver o número da fatura e, depois, para devolver a data.
Copie todas as células nesta tabela e cole-as na célula A1 numa folha de cálculo em branco no Excel.
Sugestão: Antes de colar os dados no Excel, defina as larguras das colunas A a D para 250 píxeis e clique em Moldar Texto (separador Base , grupo Alinhamento ).
Fatura |
Cidade |
Data da Fatura |
Fatura mais antiga por cidade, com data |
3115 |
Lisboa |
7/4/12 |
="Lisboa = "&ÍNDICE($A$2:$C$33,CORRESP("Lisboa",$B$2:$B$33,0),1)& ", Data da fatura: " & TEXTO(ÍNDICE($A$2:$C$33,CORRESP("Lisboa",$B$2:$B$33,0),3),"d/m/aa") |
3137 |
Lisboa |
9/4/12 |
="Aveiro = "&ÍNDICE($A$2:$C$33,CORRESP("Aveiro",$B$2:$B$33,0),1)& ", Data da fatura: " & TEXTO(ÍNDICE($A$2:$C$33,CORRESP("Aveiro",$B$2:$B$33,0),3),"d/m/aa") |
3154 |
Lisboa |
11/4/12 |
="Porto = "&ÍNDICE($A$2:$C$33,CORRESP("Porto",$B$2:$B$33,0),1)& ", Data da fatura: " & TEXTO(ÍNDICE($A$2:$C$33,CORRESP("Porto",$B$2:$B$33,0),3),"d/m/aa") |
3191 |
Lisboa |
21/4/12 |
="Faro = "&ÍNDICE($A$2:$C$33,CORRESP("Faro",$B$2:$B$33,0),1)& ", Data da fatura: " & TEXTO(ÍNDICE($A$2:$C$33,CORRESP("Faro",$B$2:$B$33,0),3),"d/m/aa") |
3293 |
Lisboa |
25/4/12 |
="Évora = "&ÍNDICE($A$2:$C$33,CORRESP("Évora",$B$2:$B$33,0),1)& ", Data da fatura: " & TEXTO(ÍNDICE($A$2:$C$33,CORRESP("Évora",$B$2:$B$33,0),3),"d/m/aa") |
3331 |
Lisboa |
27/4/12 |
|
3350 |
Lisboa |
28/4/12 |
|
3390 |
Lisboa |
1/5/12 |
|
3441 |
Lisboa |
2/5/12 |
|
3517 |
Lisboa |
8/5/12 |
|
3124 |
Aveiro |
9/4/12 |
|
3155 |
Aveiro |
11/4/12 |
|
3177 |
Aveiro |
19/4/12 |
|
3357 |
Aveiro |
28/4/12 |
|
3492 |
Aveiro |
6/5/12 |
|
3316 |
Porto |
25/4/12 |
|
3346 |
Porto |
28/4/12 |
|
3372 |
Porto |
1/5/12 |
|
3414 |
Porto |
1/5/12 |
|
3451 |
Porto |
2/5/12 |
|
3467 |
Porto |
2/5/12 |
|
3474 |
Porto |
4/5/12 |
|
3490 |
Porto |
5/5/12 |
|
3503 |
Porto |
8/5/12 |
|
3151 |
Faro |
9/4/12 |
|
3438 |
Faro |
2/5/12 |
|
3471 |
Faro |
4/5/12 |
|
3160 |
Évora |
18/4/12 |
|
3328 |
Évora |
26/4/12 |
|
3368 |
Évora |
29/4/12 |
|
3420 |
Évora |
1/5/12 |
|
3501 |
Évora |
6/5/12 |