=Í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.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Code | Look for | Price | |
| 2 | Apple | Fruit | $1.20 | P-101 | Pear | $1.50 | |
| 3 | Pear | Fruit | $1.50 | P-102 | |||
| 4 | Carrot | Vegetable | $0.80 | P-205 | |||
| 5 | Bread | Bakery | $2.40 | P-310 | |||
| 6 | Milk | Dairy | $1.10 | P-412 |
=Í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.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Code | Look for | Bread | |
| 2 | Apple | Fruit | $1.20 | P-101 | Position | 4 | |
| 3 | Pear | Fruit | $1.50 | P-102 | Price | $2.40 | |
| 4 | Carrot | Vegetable | $0.80 | P-205 | |||
| 5 | Bread | Bakery | $2.40 | P-310 | |||
| 6 | Milk | Dairy | $1.10 | P-412 |
=Í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 lerC2:C6, nãoC1: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.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Product | Category | Price | Code | Code | Product | |
| 2 | Apple | Fruit | $1.20 | P-101 | P-310 | Bread | |
| 3 | Pear | Fruit | $1.50 | P-102 | |||
| 4 | Carrot | Vegetable | $0.80 | P-205 | |||
| 5 | Bread | Bakery | $2.40 | P-310 | |||
| 6 | Milk | Dairy | $1.10 | P-412 |
=Í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.
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Region | Jan | Feb | Mar |
| 2 | North | 4,200 | 3,900 | 4,800 |
| 3 | South | 3,100 | 3,600 | 3,300 |
| 4 | East | 5,200 | 4,700 | 5,600 |
| 5 | West | 2,800 | 3,000 | 3,400 |
| 6 | Region | East | ||
| 7 | Month | Mar | ||
| 8 | Sales | 5,600 |
=Í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:C6na versão com ÍNDICE paraD2:D6e 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
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Code | Price | Stock | Product | Look for | Price | |
| 2 | P-101 | $1.20 | 40 | Apple | Milk | ||
| 3 | P-102 | $1.50 | 25 | Pear | |||
| 4 | P-205 | $0.80 | 60 | Carrot | |||
| 5 | P-310 | $2.40 | 15 | Bread | |||
| 6 | P-412 | $1.10 | 30 | Milk |
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
| A | B | C | D | |
|---|---|---|---|---|
| 1 | Student | Math | Science | Art |
| 2 | Ana | 78 | 85 | 92 |
| 3 | Ben | 64 | 71 | 88 |
| 4 | Cara | 95 | 89 | 73 |
| 5 | Dev | 82 | 67 | 79 |
| 6 | ||||
| 7 | Student | Cara | ||
| 8 | Subject | Science | ||
| 9 | Score |
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.