Procurar valores com o PROCV, ÍNDICE ou CORRESP

O Microsoft 365 ajuda-o a aproveitar o seu tempo ao máximo

Subscrever agora

Sugestão: Experimente utilizar as novas funções XLOOKUP e XMATCH, versões melhoradas das funções descritas neste artigo. Estas novas funções funcionam em qualquer direção e devolvem os fósforos exatos por padrão, tornando-as mais fáceis e convenientes de usar do que os seus antecessores.

Suponha que tem uma lista de números de localização de escritório, e precisa saber quais os empregados em cada escritório. A folha de cálculo é enorme, por isso pode pensar que é uma tarefa desafiadora. Na verdade, é muito fácil de fazer com uma função de procura.

As funções VLOOKUP e HLOOKUP, juntamente com index e MATCH,são algumas das funções mais úteis no Excel.

Nota: A funcionalidade Lookup Wizard já não está disponível no Excel.

Aqui está um exemplo de como usar o VLOOKUP.

PROCV(B2,C2:E7,3,VERDADEIRO)

Neste exemplo, B2 é o primeiro argumento— um elemento de dados que a função precisa de funcionar. Para a VLOOKUP, este primeiro argumento é o valor que pretende encontrar. Este argumento pode ser uma referência celular, ou um valor fixo como "smith" ou 21.000. O segundo argumento é o alcance das células, C2-E7, nas quais procurar o valor que pretende encontrar. O terceiro argumento é a coluna nessa gama 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 FALSE, a função corresponderá ao valor proporcionado pelo primeiro argumento. Por outras palavras, deixar o quarto argumento em branco — ou entrar no TRUE , dá-lhe mais flexibilidade.

Este exemplo mostra-lhe como a função funciona. Quando introduz um valor na célula B2 (o primeiro argumento), a VLOOKUP procura nas células da gama C2:E7 (2º argumento) e devolve a correspondência aproximada mais próxima da terceira coluna da gama, coluna E (3º argumento).

Uma utilização típica da função PROCV

O quarto argumento está vazio, por isso 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 se sente confortável com o VLOOKUP, a função HLOOKUP é igualmente fácil de usar. Entras nos mesmos argumentos, mas procuras em filas em vez de colunas.

Utilização de INDEX e MATCH em vez de VLOOKUP

Existem certas limitações com a utilização do VLOOKUP — a função VLOOKUP 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 de retorno. Agora, se a sua folha de cálculo não for construída desta forma, então não use VLOOKUP. Utilize a combinação das funções INDEX e MATCH.

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.

Utilizar as funções ÍNDICE e CORRESP para procurar um valor

Para mais exemplos de utilização do INDEX e do MATCH em vez de VLOOKUP, consulte o artigo https://www.mrexcel.com/excel-tips/excel-vlookup-index-match/ por Bill Jelen, Microsoft MVP.

Experimente

Se quiser experimentar funções de procura antes de experimentá-las com os seus próprios dados, aqui estão alguns dados da amostra.

Exemplo vLOOKUP no trabalho

Copie os seguintes dados numa folha de cálculo em branco.

Sugestão: Antes de colar os dados no Excel, defina as larguras da coluna para as colunas A a C a 250 pixels e clique em Wrap Text (separadorHome,Grupo de 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 HLOOKUP

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 da coluna para as colunas A a C a 250 pixels e clique em Wrap Text (separadorHome,Grupo de 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 INDEX e MATCH

Este último exemplo emprega as funções INDEX e MATCH em conjunto para devolver o número de fatura mais antiga e a data correspondente para cada uma das cinco cidades. Como a data é devolvida como um número, usamos a função TEXT para fortá-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 da coluna para as colunas A a D a 250 pixels e clique em Wrap Text (separadorHome,Grupo de Alinhamento).

Fatura

Cidade

Data da Fatura

Fatura mais antiga por cidade, com data

3115

Atlanta

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

Atlanta

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

Atlanta

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

Atlanta

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

Atlanta

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

Atlanta

27/4/12

3350

Atlanta

28/4/12

3390

Atlanta

1/5/12

3441

Atlanta

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

Consulte Também

Cartão de referência rápido:

Aaparência e funções de referência (referência)

função VLOOKUP

Precisa de mais ajuda?

Aumente os seus conhecimentos do Office
Explore as formações
Seja o primeiro a obter novas funcionalidades
Adira ao Office Insider

As informações foram úteis?

Obrigado pelos seus comentários!

Obrigado pelo seu feedback! Parece que poderá ser benéfico reencaminhá-lo para um dos nossos agentes de suporte do Office.

×