
Se você usa o VLOOKUP para toda tarefa de pesquisa no Excel, saiba que não está sozinho — é uma das funções mais reconhecidas no mundo das planilhas. Mas usuários experientes de Excel quase universalmente migram para o INDEX MATCH, uma combinação de duas funções que é mais flexível, mais confiável e capaz de resolver problemas que o VLOOKUP simplesmente não consegue. Este artigo explica exatamente o porquê, com sintaxe real, exemplos detalhados e um passo a passo prático que você pode seguir imediatamente.
Antes de combiná-las, é útil entender cada função individualmente.
INDEX retorna o valor de uma célula em uma posição específica dentro de um intervalo ou matriz.
=INDEX(array, row_num, [col_num])
Por exemplo, =INDEX(A1:A10, 3) retorna o valor que estiver na terceira linha da coluna A, do intervalo de linha 1 a linha 10.
MATCH pesquisa um valor dentro de um intervalo e retorna o seu número de posição — não o valor em si, mas o número que indica onde ele se encontra.
=MATCH(lookup_value, lookup_array, [match_type])
0 para correspondência exata (mais comum), 1 para menor que, -1 para maior quePor exemplo, se A1:A5 contém {Apple, Banana, Cherry, Date, Fig}, então =MATCH("Cherry", A1:A5, 0) retorna 3 porque Cherry é o terceiro item.
O verdadeiro poder aparece quando você aninha o MATCH dentro do INDEX. Em vez de codificar um número de linha fixo, você deixa o MATCH calculá-lo dinamicamente:
=INDEX(return_range, MATCH(lookup_value, lookup_range, 0))
Isso instrui o Excel: "Encontre a posição do meu valor de pesquisa no intervalo de pesquisa e, em seguida, retorne o valor correspondente do intervalo de retorno." Os dois intervalos devem ter o mesmo tamanho e estar alinhados na mesma direção.
Imagine uma tabela de inventário de produtos com a seguinte estrutura:
| ID do Produto | Nome do Produto | Categoria | Preço Unitário | Estoque |
|---|---|---|---|---|
| P-101 | Mouse Sem Fio | Eletrônicos | R$ 29,99 | 142 |
| P-102 | Hub USB-C | Eletrônicos | R$ 49,99 | 87 |
| P-103 | Luminária de Mesa | Escritório | R$ 34,99 | 55 |
| P-104 | Caderno A5 | Papelaria | R$ 8,99 | 310 |
| P-105 | Cadeira Ergonômica | Mobiliário | R$ 299,00 | 12 |
Os dados estão em A2:E6, com cabeçalhos na linha 1. Você deseja pesquisar o Preço Unitário de um produto cujo ID está inserido na célula H2.
Com INDEX MATCH, a fórmula em H3 seria:
=INDEX($D$2:$D$6, MATCH(H2, $A$2:$A$6, 0))
Passo a passo:
Observe o uso de referências de célula absolutas com cifrões. Fixar os intervalos garante que a fórmula funcione corretamente quando copiada para outras células.
Se você já conhece o VLOOKUP pelo nosso guia completo do VLOOKUP, entende seus pontos fortes. Mas ele tem limitações bem conhecidas que o INDEX MATCH resolve de forma elegante.
O VLOOKUP pesquisa apenas a coluna mais à esquerda de uma tabela e retorna um valor à direita. Se a sua coluna de pesquisa estiver à direita da sua coluna de retorno, o VLOOKUP falha. O INDEX MATCH não tem essa restrição — o intervalo de retorno e o intervalo de pesquisa são completamente independentes, portanto você pode retornar valores de qualquer coluna, inclusive as que ficam à esquerda da sua coluna de busca.
O VLOOKUP usa um número de índice de coluna fixo (por exemplo, a terceira coluna). Insira ou exclua uma coluna e esse número ficará incorreto, retornando dados errados silenciosamente. Como o INDEX MATCH faz referência a intervalos reais, inserir colunas nunca quebra a fórmula.
O VLOOKUP varre toda a matriz de tabela a cada cálculo. O INDEX MATCH avalia apenas a coluna de pesquisa específica e a coluna de retorno específica, o que é visivelmente mais rápido em pastas de trabalho com dezenas de milhares de linhas.
Você pode aninhar duas funções MATCH — uma para a linha, outra para a coluna — para criar uma pesquisa bidimensional que o VLOOKUP não consegue replicar sem fórmulas auxiliares:
=INDEX(B2:E6, MATCH(H2, A2:A6, 0), MATCH(H3, B1:E1, 0))
Aqui, MATCH(H2, A2:A6, 0) encontra a linha correta e MATCH(H3, B1:E1, 0) encontra a coluna correta. Altere qualquer célula de entrada e a fórmula se adapta instantaneamente. Isso é particularmente útil para dashboards de vendas em que você precisa extrair métricas em múltiplas dimensões.
Quando nenhuma correspondência é encontrada, o MATCH retorna um erro #N/A. Envolva todo o INDEX MATCH em IFERROR para exibir uma mensagem amigável ao usuário:
=IFERROR(INDEX($D$2:$D$6, MATCH(H2, $A$2:$A$6, 0)), "Produto não encontrado")
Isso é especialmente importante em pastas de trabalho compartilhadas ou modelos em que os usuários finais digitam valores de pesquisa — um tratamento de erros adequado evita confusão e frustração. Combine isso com a validação de dados na célula de entrada para restringir entradas a uma lista válida, e você terá uma ferramenta de pesquisa robusta e à prova de erros do usuário.
Um dos cenários de pesquisa mais solicitados é a correspondência com mais de uma condição. Suponha que você queira encontrar o Preço Unitário em que a Categoria seja "Eletrônicos" E o Estoque seja menor que 100. Isso pode ser feito com uma versão matricial do INDEX MATCH.
=INDEX($D$2:$D$6, MATCH(1, ($C$2:$C$6="Electronics")*($E$2:$E$6<100), 0))
Em versões mais antigas do Excel (anteriores ao 365), pressione Ctrl + Shift + Enter para inserir como uma fórmula matricial — o Excel a envolve em chaves {}. No Excel 365 e Excel 2021, as matrizes dinâmicas tratam isso automaticamente, portanto basta pressionar Enter normalmente.
Como funciona: cada condição produz uma matriz de valores VERDADEIRO/FALSO (1s e 0s). Multiplicá-las cria uma nova matriz que é 1 somente onde ambas as condições são VERDADEIRAS. O MATCH então encontra o primeiro 1, e o INDEX retorna o preço correspondente.
O Excel 365 introduziu o XLOOKUP, que simplifica muitas tarefas de pesquisa com uma única função. O XLOOKUP é excelente para pesquisas diretas e lida nativamente com pesquisas à esquerda. No entanto, o INDEX MATCH continua relevante por vários motivos:
Compreender o INDEX MATCH também é fundamental ao trabalhar em tarefas mais avançadas, como criar dashboards dinâmicos no Excel, em que fórmulas de pesquisa alimentam gráficos e tabelas de resumo que se atualizam automaticamente.
=INDEX(PreçosUnitários, MATCH(H2, IDsProdutos, 0)) é muito mais fácil de auditar do que referências de células.Se você se encontrar diante de um requisito de pesquisa complexo — múltiplos critérios, layouts de tabela não convencionais ou referências entre planilhas — você pode descrever o que precisa em linguagem natural para o GPTExcel e receber uma fórmula INDEX MATCH pronta para uso em segundos, incluindo as referências absolutas corretas e o tratamento de erros. Isso elimina as suposições e leva você a uma fórmula funcional sem tentativas e erros manuais.
Para técnicas mais amplas de criação de fórmulas com inteligência artificial, o artigo sobre usar o ChatGPT para escrever fórmulas no Excel cobre o fluxo de trabalho em detalhes.
Para a grande maioria dos casos de uso profissional, sim. O INDEX MATCH lida com pesquisas à esquerda, não é quebrado por inserções de colunas e suporta correspondência bidimensional e com múltiplos critérios. O VLOOKUP é mais simples de escrever para pesquisas básicas à direita, mas suas limitações se tornam problemáticas à medida que seus dados crescem em complexidade.
Apenas quando você estiver usando uma versão matricial com múltiplos critérios da fórmula no Excel 2019 ou anterior. Fórmulas padrão de INDEX MATCH com critério único são inseridas com um simples Enter em todas as versões do Excel. No Excel 365 e Excel 2021 com matrizes dinâmicas, mesmo as versões com múltiplos critérios não exigem o atalho de fórmula matricial.
O MATCH sempre retorna a posição da primeira correspondência encontrada. Se sua coluna de pesquisa tiver duplicatas e você precisar recuperar dados de cada ocorrência, considere usar uma coluna auxiliar com chaves concatenadas, ou utilize o Power Query — abordado em nosso guia do Power Query — para reorganizar seus dados antes de aplicar a pesquisa.
Sim. Basta incluir o nome da planilha nas referências de intervalo. Por exemplo: =INDEX(Sheet2!$D$2:$D$100, MATCH(H2, Sheet2!$A$2:$A$100, 0)). A fórmula funciona de forma idêntica, estejam os intervalos na mesma planilha ou em uma planilha diferente dentro da mesma pasta de trabalho.
Aprenda como a função TEXT do Excel converte números, datas e horas em cadeias de texto formatadas usando códigos de formatação — com exemplos reais e casos de uso práticos.
Aprenda como a função IF do Excel funciona, como aninhar múltiplos IFs e quando usar alternativas modernas como IFS e SWITCH para uma lógica mais limpa e legível.
Domine SOMASE e SOMASES no Excel para somar dados com base em uma ou várias condições, com sintaxe real, exemplos práticos e um passo a passo completo.