Skip to main content
30 janeiro 2018
Follow Us

Como utilizar as funções «ÍNDICE» e «CORRESP» em conjunto

A utilização de funções de Consulta e Referência, como as funções PROCV ou PROCH, é interessante quando pretendemos localizar um valor numa lista. A sua utilização é muito comum entre os usuários do Excel, mas há quem prefira a utilização conjunta das funções ÍNDICE (INDEX) e CORRESP (MATCH).

A utilização das funções ÍNDICE e CORRESP em conjunto é indicada quando não queremos estar limitados a procurar na coluna à esquerda. Uma fórmula com estas duas funções é mais complexa, mas pode resultar melhor.

Na lista seguinte, temos as 5 cidades com mais turistas no ano passado (valores fictícios).

indcor

A primeira coluna é a classificação decrescente das cidades por nº de turistas e as seguintes têm mais dados relativos a cada uma dessa cidades (nome, ID, visitantes).

Utilizar a função PROCV

Por exemplo, na elaboração de um relatório, temos de encontrar o ID da 2ª cidade mais visitada. Vamos ver como podemos utilizar a função PROCV para nos devolver este valor específico.

Assim, temos de encontrar dentro deste intervalo, a linha que tenha o valor pretendido na coluna Classificação e, depois, encontrar dentro da coluna ID o valor que procuramos. Ou seja, de forma simplista, e de acordo com a sintaxe da função, escrevemos:

=PROCV(valor; intervalo; nº coluna; FALSO)

Em que:

  • valor = 2, porque é a classificação que queremos;
  • Intervalo = A1:D6
  • nº coluna = 3, porque o ID está na 3ª coluna a contar da esquerda
  • FALSO, porque queremos o valor exato

A fórmula

=PROCV(2;A1:D6;3;FALSO)

, devolve o valor «POR»

No entanto, imaginemos que um dia a nossa lista é alterada para a seguinte:

indcor2

Neste caso, o «campo chave» que tínhamos anteriormente – Classificação – está à direita do campo «ID», que é o campo de pesquisa. Neste caso, a função PROCV não funciona, porque não aceita que o nº da coluna seja negativo (-1).

A nossa fórmula anterior passaria a:

=PROCV(2;A1:D6;-1;FALSO)

, que devolve o erro #N/D

Utilizar a função ÍNDICE

Existem duas formas de utilizar a função ÍNDICE:

  • Forma de matriz: devolve o valor de um elemento numa tabela ou numa matriz, selecionada pelos índices do número de linha e coluna.

Sintaxe:

ÍNDICE(matriz;núm_linha;[núm_coluna])

Em termos simples, a sintaxe é a seguinte =ÍNDICE(intervalo de células ou matriz; linha na matriz que devolve um valor; coluna na matriz que devolve um valor). Ou seja, o Excel vai ao intervalo de dados e devolve o valor na célula de intersecção entre uma linha e uma coluna.

Por exemplo, tendo a seguinte matriz, queremos encontrar o valor da 1º linha e da 2ª coluna.

indcor3

Assim,

=ÍNDICE(A2:B3;1;2)

, devolve “botas”.

  • Forma de referência: devolve a referência da célula na interseção de uma determinada linha e coluna.

Sintaxe:

ÍNDICE(referência;núm_linha;[núm_coluna];[núm_área])

De forma simples, a sintaxe é a seguinte =ÍNDICE(referência a um ou mais intervalos de células; linha na referência que devolve uma referência; coluna na referência que devolve uma referência; intervalo na referência que devolve a intersecção da linha com a coluna).

Vamos ver um exemplo, para ser mais fácil perceber.

indcor4

Procuramos a interseção da segunda linha e da terceira coluna no intervalo A2:C5, que é o conteúdo da célula C3.

indcor5

E se usássemos o argumento opcional núm_área para procurar a intersecção da segunda linha e da segunda coluna, na primeira área de B2:C5?

A resposta é o conteúdo da célula B2, ou seja 55.

indcor6

Utilizar a função CORRESP

A função CORRESP procura um valor específico num intervalo e, em seguida, devolve a posição relativa desse valor nesse intervalo.

Queremos, por exemplo, encontrar o valor 0,25 no intervalo (B1,B10), nesta listagem de stocks de uma frutaria.

indcor7

A sintaxe da função CORRESP procura um valor numa matriz ou intervalo de células, ao qual quer fazer corresponder um argumento tipo 1 (ou omisso), 0 ou -1. O 1 é «menor que», o 0 é «correspondência exata» e o -1 é «maior que». Neste caso, queremos a correspondência exata.

Assim, a sintaxe é:

CORRESP(valor_proc; matriz_proc; [tipo_corresp])

Para responder ao desafio, utilizamos a fórmula:

=CORRESP(0,25;B1:B10;0)

, que irá devolver o número 5, porque o item 0,25 está na linha número 5 do intervalo especificado.

Utilizar as funções ÍNDICE e CORRESP

Depois de vermos cada uma das funções em separado, vamos ver como funcionam em conjunto.
Voltamos, então, à nossa lista das cidades com mais turistas, para exemplificar.

indcor8

Vamos utilizar as funções ÍNDICE e CORRESP em conjunto para encontrar o valor correspondente ao número de visitantes na cidade do Porto.

A combinação destas funções é utilizada na mesma fórmula para que a função CORRESP devolva a linha onde está a cidade do Porto e depois a função ÍNDICE utilize o seu resultado para devolver o valor procurado.

Na prática,

=ÍNDICE(matriz ou intervalo de dados;CORRESP(“cidade”;intervalo onde está a cidade;valor exato);nº coluna do valor a devolver)

, ou seja,

=ÍNDICE(A1:D6;CORRESP("Porto";C1:C6;0);4)

, que devolve 1025897.

indcor9

São várias as situações em que temos de encontrar um determinado item numa lista de dados. Com as funções que vimos agora esse trabalho fica, sem dúvida, facilitado.

Ficheiros em anexo

Vasco Nogueira

Assine a nossa newsletter e receba o nosso conteúdo diretamente no seu email