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).

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

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 *