Categorias
Dicas Excel

Encontrar a última ocorrência de um determinado valor no Excel

Dado que você tenha uma planilha com diversos valores repetidos, como encontrar a última ocorrência de um dado valor? Existem diversas formas de resolver isso, a mais simples é usando a função LOOKUP (ou PROC em português) do Excel.

Suponha que você tenha uma planilha com alguns dados, como itens de uma compra e o valor e queira encontrar o valor que pagou na última vez que comprou um determinado item:

planilha exemplo

Nesse exemplo, se eu procurar por “Caneta” a função deve retornar o valor “R$ 2,50”. A chamada da função fica assim:

=LOOKUP(2;1/(A2:A5=D2);B2:B5)

Resultado

Resultado

Explicação
No segundo parametro usamos 1/(A2:A5=D2) como vetor de procura, onde (A2:A5=D2) irá retornar um vetor com valores TRUE/FALSE para cada índice indicando se corresponde ou não ao valor procurado. Dividindo isso por 1, teremos um vetor com 1s ou erro #DIV/0!.

Ai que entra a mágica, o primeiro parâmetro da função é o valor buscado no vetor, como passamos o valor 2 e nosso vetor de procura não tem nenhum, a função retornará o último número (o último 1) do vetor que corresponde ao índice da linha que procuramos no vetor de resultado (B2:B5).

21 respostas em “Encontrar a última ocorrência de um determinado valor no Excel”

Olá, como eu poderia utilizar uma fórmula para encontrar o saldo referente a uma data específica? Ex: Tenho uma aba com várias datas e lançamentos de entradas e saídas com saldos. Outra aba com todas as datas mas queria ter um campo somente com os saldos de cada data. É possível? Como seria ela?

Se o saldo de cada data já estiver calculado vc poderia usar o exemplo do post para buscar o último saldo de uma determinada data. Agora se vc quer que na outra aba faça o cálculo do saldo até a data, vc precisaria usar outras fórmulas, como o SOMASE para calcular o saldo baseado em uma dada data. Se puder adicionar um exemplo dos seus dados e o que vc espera de resultado posso ajudar a montar.

Olá, tudo bem?
Agradeço muito pela explicação, nos ajudou muito.
Mas como faríamos se na tabela ter células vazias, testamos aqui ele retornou o zero, teria com colocar um comando como “>0”

Opa,
Tenho uma tabela de compras de produtos. Preciso retornar o valor da ultima compra. Por exemplo:

DATA_COMPRA PRODUTO VALOR
01/01/2021 LARANJA R$ 10,00
01/01/2021 UVA R$ 15,00
05/02/2021 LARANJA R$ 12,00
05/02/2021 UVA R$ 20,00
03/03/2021 LARANJA R$ 14,00
03/03/2021 UVA R$ 9,00
09/03/2021 PERA R$ 15,00

Em uma outra planilha, quando eu digitar “LARANJA” ele deve retornar pra mim o valor de 14,00, que é o ultima compra(considerando o campo data)

Boa tarde. Otimo tutorial, saberia me informar como faria para encontrar o penultima ocorrencia de um detarminado valor? Muito obrigado.

Otimo, muito facil e simplificado!
Como seria para procurar sempre a penúltima ocorrência, ao envés da ultima? Obrigado!

Boa tarde. Digamos que, em sua lista, caneta aparecesse 5 vezes em uma lista de 20 itens. Eu gostaria de uma fórmula que desse o número da linha da 3 ocorrência, por exemplo. Tem como fazer?

É possível sim, mas é preciso utilizar outra fórmula:

=SMALL(IF($D$2=$A$2:$A$20; ROW($A$2:$A$20)-ROW($A$1)+1); 3)

Essa é uma formula matricial, então para aplica-la é preciso apertar CONTROL+SHIFT+ENTER.

Farei um post para tentar explicar melhor como usar essa fórmula.

parabéns pela explicação, porém utilizei a sua explanação para calcular os números atrasados da mega sena e da lotomania.

=MÁXIMO($A:$A)-PROC(2;1/(K:K=1);$A:$A)

Onde o MÁXIMO($A:$A) é o número do último concurso da Mega Sena
Fiz com que a função Proc localiza-se o último número “1” da coluna específica k:k e me retorna-se o valor do concurso.
Para saber o atraso do número eu subtrai o valor do ultimo concurso.

Damião, a parte da explicação principalmente o último parágrafo não ficou claro, mas creio que isto tenha a ver com o que estou precisando. É possível usar o PROC para encontrar A LINHA do último valor procurado? Obrigado!

Parabéns, Damião.
Eu já estudo Excel há anos e nunca tinha visto essa solução. Muito inteligente.
Só cabe uma ressalva:
No Excel: como explicado
No Calc: não funciona (erro:504)
No Google Planilhas: ao terminar de digitar, apertar Ctrl+Alt+Enter, pois ele entende que é uma fórmula matricial.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *