Menu

ÍNDICE e CORRESP no Excel (INDEX MATCH): busca à esquerda

=ÍNDICE(C2:C6;CORRESP(F2;A2:A6;0)) encontra a linha de F2 na coluna A e retorna o valor dessa linha na coluna C. Busca à esquerda, faz buscas em duas direções e funciona em qualquer versão do Excel.

Todas as planilhas desta página são ao vivo: mude um número ou uma fórmula e elas recalculam.

=ÍNDICE(C2:C6;CORRESP(F2;A2:A6;0)) encontra a linha em que F2 aparece em A2:A6 e retorna o valor da mesma linha de C2:C6. A CORRESP encontra a posição, o ÍNDICE busca o valor nessa posição. Funciona em qualquer versão do Excel e consegue buscar à esquerda. Em inglês, as funções se chamam INDEX e MATCH, e a tabela mostra a fórmula assim: =INDEX(C2:C6,MATCH(F2,A2:A6,0)). Você também pode digitar as fórmulas em português, com ponto e vírgula.

Preço de um produto
G2
ABCDEFG
1ProductCategoryPriceCodeLook forPrice
2AppleFruit$1.20P-101Pear$1.50
3PearFruit$1.50P-102
4CarrotVegetable$0.80P-205
5BreadBakery$2.40P-310
6MilkDairy$1.10P-412
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =ÍNDICE(C2:C6;CORRESP(F2;A2:A6;0))

Mude F2 para Milk e G2 retorna $1.10. Mude C2:C6 para B2:B6 e ela retorna a categoria.

Como ÍNDICE e CORRESP trabalham juntas

A fórmula são dois passos em uma célula. Aqui eles estão em células separadas, para você ver o que cada parte retorna.

Os dois passos, um por célula
G3
ABCDEFG
1ProductCategoryPriceCodeLook forBread
2AppleFruit$1.20P-101Position4
3PearFruit$1.50P-102Price$2.40
4CarrotVegetable$0.80P-205
5BreadBakery$2.40P-310
6MilkDairy$1.10P-412
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =ÍNDICE(C2:C6;G2)

CORRESP(G1;A2:A6;0) retorna 4, porque Bread é o quarto item de A2:A6. ÍNDICE(C2:C6;4) retorna o quarto item de C2:C6, $2.40. Coloque a CORRESP dentro do ÍNDICE no lugar de G2 e você tem a fórmula de uma célula. Duas regras fazem isso funcionar:

  • Os dois intervalos precisam começar na mesma linha e ter a mesma altura. CORRESP(...;A2:A6;0) conta a partir da linha 2, então o ÍNDICE precisa ler C2:C6, não C1:C6 (que retornaria a linha de cima).
  • Termine a CORRESP com 0. Sem ele, a CORRESP faz uma correspondência aproximada que supõe a coluna A ordenada, e em uma lista de nomes pode retornar a posição da linha errada. A página da CORRESP trata dos três tipos de correspondência.

Se o valor não está na lista, a CORRESP retorna #N/D (#N/A em inglês, como a tabela mostra) e a fórmula inteira também. =SENÃODISP(ÍNDICE(C2:C6;CORRESP(F2;A2:A6;0));"Not found") mostra um texto no lugar.

Busca à esquerda

O PROCV (VLOOKUP) retorna colunas à direita da que ele procura. ÍNDICE e CORRESP não ligam para a ordem: procure na coluna D, retorne a coluna A.

Nome do produto a partir do código
G2
ABCDEFG
1ProductCategoryPriceCodeCodeProduct
2AppleFruit$1.20P-101P-310Bread
3PearFruit$1.50P-102
4CarrotVegetable$0.80P-205
5BreadBakery$2.40P-310
6MilkDairy$1.10P-412
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =ÍNDICE(A2:A6;CORRESP(F2;D2:D6;0))

P-310 retorna Bread. Digite P-205 em F2 para Carrot. Com o PROCV, você teria que mover antes a coluna Code para o começo da tabela.

Busca em duas direções: ÍNDICE com duas CORRESP

O ÍNDICE recebe um número de linha e um número de coluna. Passe a ele uma tabela inteira e deixe uma CORRESP achar a linha e outra achar a coluna.

Vendas por região e mês
B8
ABCD
1RegionJanFebMar
2North4,2003,9004,800
3South3,1003,6003,300
4East5,2004,7005,600
5West2,8003,0003,400
6RegionEast
7MonthMar
8Sales5,600
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.No Excel em português: =ÍNDICE(B2:D5;CORRESP(B6;A2:A5;0);CORRESP(B7;B1:D1;0))

East é a linha 3 de A2:A5 e Mar é a coluna 3 de B1:D1, então o ÍNDICE retorna a linha 3, coluna 3 de B2:D5: 5,600. A CORRESP da linha procura para baixo na primeira coluna, a CORRESP da coluna procura ao longo da linha de cabeçalho, e os dois intervalos se alinham com a tabela B2:D5.

Por que ÍNDICE e CORRESP ganham do PROCV

=VLOOKUP(F2, A2:D6, 3, FALSE)
=INDEX(C2:C6, MATCH(F2, A2:A6, 0))

No Excel em português: =PROCV(F2;A2:D6;3;FALSO) e =ÍNDICE(C2:C6;CORRESP(F2;A2:A6;0)). As duas retornam o preço. A diferença aparece quando a planilha muda:

  • Inserir uma coluna. Insira uma coluna entre Category e Price, e o PROCV continua pedindo a coluna 3, que agora é a coluna nova, vazia. O Excel ajusta C2:C6 na versão com ÍNDICE para D2:D6 e ela continua funcionando.
  • Buscar à esquerda. Mostrado acima: o PROCV não consegue, ÍNDICE e CORRESP conseguem.

No Excel 2021 e no Microsoft 365, a PROCX (XLOOKUP) faz as duas coisas em uma função só, com argumentos mais simples. ÍNDICE e CORRESP continuam sendo a escolha para arquivos que precisam abrir no Excel 2019 ou anterior, e a parte do ÍNDICE é útil sozinha. Para buscas com duas condições ao mesmo tempo, veja busca com vários critérios.

Prática: busque à esquerda

Exportação de estoque
G2
ABCDEFG
1CodePriceStockProductLook forPrice
2P-101$1.2040AppleMilk
3P-102$1.5025Pear
4P-205$0.8060Carrot
5P-310$2.4015Bread
6P-412$1.1030Milk
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.

Sua vez: Os nomes dos produtos estão na última coluna. Em G2, retorne o preço do produto em F2 com ÍNDICE e CORRESP.

Prática: uma busca em duas direções

Notas das provas
B9
ABCD
1StudentMathScienceArt
2Ana788592
3Ben647188
4Cara958973
5Dev826779
6
7StudentCara
8SubjectScience
9Score
Clique em uma célula para ver a fórmula. Mude um número ou uma fórmula e a planilha recalcula.

Sua vez: Em B9, retorne a nota do aluno em B7 na matéria em B8.

Perguntas frequentes

Como funciona ÍNDICE com CORRESP?

A CORRESP encontra a posição de um valor em uma coluna, e o ÍNDICE retorna o valor nessa posição em outra coluna. Em =ÍNDICE(C2:C6;CORRESP("Pear";A2:A6;0)), a CORRESP retorna 2 porque Pear é o segundo item de A2:A6, e o ÍNDICE retorna o segundo item de C2:C6.

Por que usar ÍNDICE e CORRESP em vez de PROCV?

Porque retornam uma coluna à esquerda da que procuram, e não quebram quando uma coluna é inserida dentro da tabela (não há número de coluna para ficar desatualizado). No Excel 2021 e no Microsoft 365, a PROCX dá as mesmas vantagens em uma função só.

O que significa o 0 na CORRESP?

Ele pede uma correspondência exata. Sem ele, a CORRESP usa o tipo de correspondência 1, uma correspondência aproximada que espera a coluna em ordem crescente, e em uma lista fora de ordem pode retornar a posição da linha errada.

Como faço uma busca em duas direções com ÍNDICE e CORRESP?

Passe ao ÍNDICE uma tabela inteira e duas CORRESP, uma para a linha e outra para a coluna: =ÍNDICE(B2:D5;CORRESP("South";A2:A5;0);CORRESP("Feb";B1:D1;0)) retorna o valor onde a linha South cruza a coluna Feb.

Ilustração das linguagens de programação do Coddy

Aprenda a programar com o Coddy

COMEÇAR