Index, Match e Xmatch
Deslize para mostrar o menu
XLOOKUP é a função de busca preferida para modelos modernos do Excel, mas muitas planilhas do mundo real ainda dependem de INDEX e MATCH. Neste capítulo, veja como essas funções trabalham juntas e como XMATCH amplia a mesma lógica com mais flexibilidade.
Estrutura do MATCH
=MATCH(lookup_value, lookup_array, [match_type])
lookup_value: valor a ser procurado;lookup_array: intervalo a ser pesquisado;[match_type]: comportamento da correspondência;0: correspondência exata;1: maior valor menor ou igual ao valor procurado;-1: menor valor maior ou igual ao valor procurado.
MATCH retorna uma posição, não o valor em si.
Estrutura do INDEX
=INDEX(array, row_num, [col_num])
array: conjunto de dados de onde será retornado o valor;row_num: posição da linha;[col_num]: posição opcional da coluna.
INDEX recupera um valor com base na posição.
Combinação de INDEX e MATCH
=INDEX(Products[Price], MATCH("Keyboard", Products[Product], 0))
MATCH(...): encontra a posição do produto;INDEX(...): retorna o valor naquela posição.
Isso recria o comportamento de busca sem limitações de direção.
Estrutura do XMATCH
=XMATCH(lookup_value, lookup_array, [match_mode], [search_mode])
lookup_value: valor a ser procurado;lookup_array: intervalo a ser pesquisado;[match_mode]: lógica de correspondência;[search_mode]: direção da busca.
XMATCH retorna posições assim como MATCH, mas adiciona controles modernos de busca semelhantes ao XLOOKUP.
Na planilha Summary, digite:
=MATCH("Laptop", Products[Product], 0)
Confirme que o Excel retorna a posição de Laptop na tabela Products.
Digite:
=INDEX(Products[Price], 3)
Confirme que a fórmula retorna o valor na posição 3.
Digite:
=INDEX(Products[Price], MATCH("Keyboard", Products[Product], 0))
A fórmula agora recupera dinamicamente o preço do produto correspondente.
Substitua o valor fixo de busca por:
=INDEX(Products[Price], MATCH([@Product], Products[Product], 0))
[@Product]: valor do produto na linha atual;Products[Product]: coluna de busca;Products[Price]: coluna de valores retornados.
A fórmula agora funciona de forma dinâmica dentro da estrutura da tabela.
Digite:
=XMATCH("Gaming Chair", Products[Product])
Confirme que o Excel retorna a posição da linha correspondente.
Digite:
=INDEX(Products, XMATCH("Gaming Chair", Products[Product]), XMATCH("Cost", Products[#Headers]))
- Primeiro
XMATCH(...): recupera a posição da linha; - Segundo
XMATCH(...): recupera a posição da coluna; INDEX(...): retorna o valor na interseção.
Isso cria um sistema de busca totalmente dinâmico por linha e coluna.
Altere tanto o produto quanto os valores de coluna dentro da fórmula.
Confirme que o resultado é atualizado dinamicamente com base na combinação de linha e coluna selecionada.
1. Qual é o principal papel do MATCH na combinação INDEX/MATCH?
2. Por que INDEX é necessário ao usar MATCH?
3. Qual é a principal vantagem de usar INDEX com XMATCH para buscas bidimensionais?
Obrigado pelo seu feedback!
Pergunte à IA
Pergunte à IA
Pergunte o que quiser ou experimente uma das perguntas sugeridas para iniciar nosso bate-papo