excel

INDEX MATCH

Como usar o INDEX MATCH

Qualquer utilizador regular do Excel já usou o VLOOKUP e sabe a fórmula de cor.  (Valor a procurar, Tabela, Coluna, etc.)  Mas muitos destes utilizadores nunca ouviram falar da função INDEX MATCH.  INDEX MATCH é uma das diversas fórmulas de procura disponíveis no Excel. Tem algumas características que o tornam melhor que o VLOOKUP em diversas situações. Independentemente da opinião de qual das duas fórmulas é melhor, vale a pena aprender ambas e tê-las ao seu dispor.

Por favor, note-se que o INDEX MATCH está desenhado para procuras verticais, a tarefa que o VLOOKUP também desempenha.

 

A função VLOOKUP

O nosso primeiro ponto de referência: a famosa fórmula VLOOKUP. O VLOOKUP retorna um VALOR baseado numa determinada matriz e coluna de referência.  A sua sintaxe é a seguinte:

=VLOOKUP ( valor a procurar , tabela de procura , coluna , tipo de procura )

Abaixo encontra um exemplo de utilização do VLOOKUP, que retorna o valor “Shirts” quando se procura o valor “1089.”

O nosso objetivo era encontrar o nome do produto com o ID “1089” e o VLOOKUP fê-lo sem qualquer problema. Por isso, como é que o INDEX MATCH replica essa funcionalidade?

 

A função INDEX

A função INDEX retorna uma VALOR baseado num vetor definido / coluna e um número de linha.  A sintaxe da fórmula é  a seguinte:

=INDEX ( vector , número da linha )

Abaixo encontra um exemplo do uso da função INDEX que devolve o valor “Shirts,” assumindo que já se conhece que o valor está na terceira posição do dado vetor.

(também tem a possibilidade de definir a coluna a procurar, mas isso não é relevante num INDEX simples)

Se descer 3 células no vector INDEX, irá obter o valor “Shirts.”  Mas o problema é que normalmente queremos procurar um valor mas não sabemos qual é a linha em que ele se encontra, neste caso a posição 3.  É preciso que este “3” venha de outra fórmula.

A função MATCH

A função básica do MATCH retorna um NÚMERO baseado na posição relativa de um valor procurado dentro de um vetor definido / coluna.  A sintaxe desta fórmula é a seguinte:

=MATCH (  lookup value , lookup array , match type )

Abaixo encontra um exemplo do uso da função MATCH para retornar a posição do elemento “1089” dentro do nosso vetor de referência.

Dado que o “1089” está três células abaixo do vetor, é devolvido o valor “3”.

INDEX MATCH

Quando combinamos ambas as funções, INDEX e MATCH, o número retornado pela função MATCH corresponde ao número da linha para a função INDEX.

=INDEX ( vetor fórmula MATCH  )

Segue-se um exemplo do uso do INDEX MATCH para revolver o tipo de produto para o valor que procuramos.

Como poderá ver, o valor devolvido é o mesmo que através da fórmula VLOOKUP.

Diferenças entre as fórmulas

Uma das diferenças principais do INDEX MATCH é que, em vez de selecionar uma tabela inteira, apenas selecionamos a coluna onde iremos procurar e a coluna do valor a devolver. Ainda que não seja uma grande evolução em funções de procura simples, poderá sê-lo se estiver a lidar com tabelas na ordem dos milhares de linhas, em que são necessárias milhares de procuras.  Limitando o perímetro para apenas a coluna de procura e coluna de resposta, reduz-se o tempo de processamento do Excel.  A diferença encontra-se demonstrada como se segue:

Uma outra diferença é que o INDEX MATCH funciona também como uma procura da direita para a esquerda, enquanto o VLOOKUP apenas procura da esquerda para a direita. Como pode ver abaixo, usamos o INDEX MATCH para procurar um valor que está na coluna da direita do valor a devolver. Isto não é possível com o VLOOKUP. Para tal, teríamos de reodenar as colunas ou copiar a coluna de procura para que esta esteja sempre à esquerda do valor a devolver.

Invertemos a nossa fórmula procurando o ID do tipo de produtos “Shirts”.  Simplesmente mudamos o valor a procurar e trocamos as colunas de procura e as colunas de resposta.

Em resumo

=INDEX ( Coluna da resposta que quero ver devolvida , MATCH ( o valor que procuro , coluna na qual quero procurar , introduzir um zero “0” ))

Posted in Dicas de Excel.