Excel Formulas Academy · Aula

Pesquisando o último valor correspondente

Retorne a correspondência mais recente usando técnicas de pesquisa reversa.

Aula 2 de 413 etapas

Pesquisando o último valor correspondente é uma aula grátis de Excel Formulas Academy no CoddyKit. Esta é a aula 2 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Excel Formulas Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Excel Formulas Academy inclui 4 aulas no total.

O problema da última correspondência

A maioria das buscas retorna a primeira correspondência encontrada. Mas, às vezes, você quer a última: o preço mais recente de um produto, a atualização de status mais recente ou o registro final de um cliente.

Quando uma lista cresce com o tempo e a mesma chave aparece várias vezes, a linha mais abaixo geralmente é a mais atual. Um VLOOKUP padrão ou um MATCH com correspondência exata insistirá em selecionar a primeira linha.

Nesta lição, você verá várias maneiras confiáveis de obter o valor correspondente à última ocorrência.

Por que MATCH exato encontra a primeira ocorrência

MATCH(value, range, 0) percorre do início ao fim e para na primeira ocorrência exata. Se "Apple" aparecer nas linhas 2, 5 e 9, MATCH retornará 2.

Isso é perfeito quando as chaves são exclusivas, mas ignora as linhas mais recentes. Para chegar à última ocorrência, precisamos de uma técnica que pesquise de baixo para cima ou que retorne a posição da última correspondência.

=MATCH("Apple", A2:A10, 0)

XLOOKUP com pesquisa inversa

Se você tiver uma versão moderna do Excel ou do Google Sheets, XLOOKUP facilita essa tarefa. O quinto e o sexto argumentos controlam o modo de correspondência e a direção da pesquisa.

Informe -1 como argumento do modo de pesquisa para pesquisar da última ocorrência até a primeira. XLOOKUP então retorna o valor associado à chave correspondente na linha mais abaixo.

Aqui, ele pesquisa o produto de G1 em A2:A10 e retorna o preço correspondente de B2:B10, começando a pesquisa pela parte inferior.

=XLOOKUP(G1, A2:A10, B2:B10, "Not found", 0, -1)

O truque clássico de LOOKUP

Em planilhas mais antigas, um truque conhecido usa LOOKUP com o número 2 e uma divisão inteligente por uma condição.

A expressão 1/(A2:A10=G1) produz 1 nas linhas correspondentes e um erro de divisão nas que não correspondem. LOOKUP, ao pesquisar 2 — um valor maior que qualquer valor presente — passa pelos erros e chega ao último 1 válido, retornando o valor correspondente de B2:B10.

=LOOKUP(2, 1/(A2:A10=G1), B2:B10)

Como funciona o truque de LOOKUP

Analise passo a passo 1/(A2:A10=G1):

  • As linhas em que a chave corresponde produzem 1/TRUE = 1.
  • As linhas que não correspondem produzem 1/FALSE = um erro #DIV/0!.

LOOKUP ignora os erros e, quando não encontra o destino pesquisado (2), retorna o resultado alinhado à última entrada sem erro. Como todas as correspondências são 1, o último 1 vence; assim, você obtém o valor da última linha correspondente.

=LOOKUP(2, 1/(A2:A10=G1), B2:B10)

Última correspondência com INDEX e MATCH

Você também pode continuar usando a família INDEX-MATCH. A ideia é encontrar a posição da última correspondência e depois fornecê-la a INDEX.

Usando o mesmo truque da divisão dentro de MATCH, pesquise 2 em 1/(A2:A10=G1) para obter a posição da linha da última correspondência. Forneça essa posição a INDEX sobre a coluna de retorno.

=INDEX(B2:B10, MATCH(2, 1/(A2:A10=G1)))

Por que MATCH(2, ...) encontra a última ocorrência

Quando o terceiro argumento de MATCH é omitido, o padrão é 1, que significa correspondência aproximada em dados crescentes. MATCH então procura o maior valor menor ou igual a 2.

A matriz 1/(A2:A10=G1) contém apenas 1s e erros. O maior valor menor ou igual a 2 é 1, e MATCH retorna a posição do último 1 desse tipo. Essa posição é exatamente a última linha correspondente.

=MATCH(2, 1/(A2:A10=G1))

Um exemplo concreto

Suponha que A2:A10 liste os status de pedidos de "Order-7" registrados ao longo do tempo, e que B2:B10 contenha o texto do status. "Order-7" aparece nas linhas 3, 6 e 9.

  • A matriz de correspondência marca as linhas 3, 6 e 9 com 1, e as demais com erros.
  • MATCH(2, ...) retorna 9 como posição, contando desde o início do intervalo: a última correspondência.
  • INDEX retorna o status dessa linha final, que é o mais recente.
=INDEX(B2:B10, MATCH(2, 1/(A2:A10=G1)))

Escolhendo o método certo

Qual abordagem você deve usar?

  • XLOOKUP com -1: a opção mais simples e legível, se o seu aplicativo for compatível.
  • LOOKUP(2, 1/...): funciona em quase todos os lugares, sem exigir uma versão específica.
  • INDEX-MATCH(2, 1/...): útil quando você também precisa da posição ou quer retornar um valor de outra coluna.

Os três métodos fornecem a mesma resposta; escolha com base nas suas ferramentas e no nível de legibilidade desejado para a fórmula.

Armadilhas comuns

Fique atento a estes problemas:

  • Tamanhos de intervalo incompatíveis: o intervalo da condição e o intervalo de retorno devem ter a mesma altura, caso contrário as linhas ficarão desalinhadas.
  • Duplicatas ocultas: espaços no final podem fazer com que "Apple " seja diferente de "Apple"; primeiro limpe o texto com TRIM.
  • Nenhuma correspondência: o truque retorna um erro se nada corresponder. Envolva-o em IFERROR para oferecer uma alternativa amigável.
=IFERROR(LOOKUP(2, 1/(A2:A10=G1), B2:B10), "Not found")

Última correspondência com vários critérios

Você pode combinar o truque da última correspondência com duas condições. Multiplique os testes das condições dentro da divisão, para que apenas as linhas que atendam às duas chaves produzam 1.

Por exemplo, encontre o preço mais recente em que o produto seja igual a G1 e a região seja igual a G2. O truque LOOKUP(2, ...) ainda chegará à última linha que atende aos critérios.

Isso é útil para registros com marcação de data e hora, nos quais o mesmo produto aparece em várias regiões.

=LOOKUP(2, 1/((A2:A10=G1)*(B2:B10=G2)), C2:C10)

Verificação rápida

Verifique sua compreensão das buscas pela última correspondência.

Recapitulação da lição

Para retornar o valor da última correspondência em vez da primeira:

  • Use XLOOKUP(..., -1) para pesquisar de baixo para cima, quando disponível.
  • Use o truque clássico LOOKUP(2, 1/(range=key), result) em qualquer versão.
  • Use INDEX(result, MATCH(2, 1/(range=key))) quando também precisar da posição.

Lembre-se de manter os intervalos do mesmo tamanho, remover espaços indesejados e envolver a fórmula em IFERROR para garantir segurança.

=XLOOKUP(G1, A2:A10, B2:B10, "Not found", 0, -1)
Grátis para começar

Aprenda Excel com um tutor de IA — grátis

Escreva e execute código real no seu navegador, obtenha ajuda instantânea de um tutor de IA 24/7 e continue de onde parou na web ou no app.

Cursos
30
Aulas
120

Perguntas Frequentes

A aula “Pesquisando o último valor correspondente” é grátis?

Sim — o texto completo de “Pesquisando o último valor correspondente” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Excel Formulas Academy, atualize para CoddyKit PRO. O curso de Excel Formulas Academy inclui 4 aulas no total.

O que vou aprender em “Pesquisando o último valor correspondente”?

Retorne a correspondência mais recente usando técnicas de pesquisa reversa. Você pratica Excel Formulas Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar Excel Formulas Academy?

Nenhuma experiência prévia é necessária. Excel Formulas Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 2 de 4.

Quanto tempo leva a aula “Pesquisando o último valor correspondente”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de Excel Formulas Academy?

Sim. Cada aula de Excel Formulas Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Pesquisas bidirecionais com INDEX-MATCH-MATCH
  2. Pesquisando o último valor correspondente
  3. Pesquisas com vários critérios usando INDEX-MATCH
  4. Correspondência aproximada para tabelas de faixas
← Voltar para Excel Formulas Academy