Como comparar ultimo valor com o penultimo no excel

Veja como retornar o último valor de uma lista com PROCV no Excel de três formas diferentes.

Digamos que você tenha o seguinte cenário.

O cliente possui 3 máquinas e realiza medições diárias nas mesmas.

Ele deseja retornar sempre a última medição da máquina selecionada, para saber como está naquele momento.

Como retornar sempre a última medição da máquina selecionada?

Como comparar ultimo valor com o penultimo no excel

Vejamos como realizar esta tarefa de 3 formas diferentes.

https://youtu.be/6daN19Hk9gM

Retornar último valor com Procv no Excel em lista Classificada – Solução 1

No título desta sessão eu faço questão de frizar a palavra Classificada.

Pois esta solução irá funcionar perfeitamente, mas apenas se os seus dados estiverem classificados.

Nas sessões seguintes irá ver como fazer com listas não classificadas.

Para realizar o Procv conforme este exemplo, primeiro realize a classificação da sua fonte de dados pela coluna em que realizará a consulta, do menor para o maior.

Como comparar ultimo valor com o penultimo no excel
Classificado pela coluna Máquina, que será a coluna de consulta

Com os dados classificados use a seguinte função:

=PROCV($H$6;$C$7:$D$24;2;1)

Como comparar ultimo valor com o penultimo no excel

O PROCV possui 4 argumentos:

  1. valor_procurado: Valor que será pesquisado, tem que estar na primeira coluna da busca.
  2. matriz_tabela: lista ou tabela aonde serão pesquisados os dados, a primeira coluna tem que possuir o termo pesquisado.
  3. núm_índice_coluna: número da coluna retornada contando à partir da esquerda, no caso acima desejamos retornar a coluna 2, logo passamos 2.
  4. [procurar_intervalo]: este parâmetro define se você quer uma busca exata ou aproximada, no nosso exemplo passamos 1, pois queremos uma busca aproximada.

No último parâmetro estamos passando como citado acima uma busca aproximada e aqui está o truque.

Pois como é uma busca aproximada, o Excel tenta achar o mais próximo e vai até o último, mas atente novamente, só funciona para listas classificadas.

Retornar último valor com Procv no Excel com PROC – Solução 2

Para versões anteriores ao Excel 365 e listas não classificadas use esta opção para retornar o último valor do PROCV no Excel.

Para isso use a função abaixo:

=PROC(2;1/($C$7:$C$24=H6);$D$7:$D$24)

Como comparar ultimo valor com o penultimo no excel

Veja que estamos usando a função PROC e não PROCV, veja os argumentos e depois explico a lógica:

  1. valor_procurado: este é o valor que será procurado na lista.
  2. vetor_proc: aqui estão os dados que serão pesquisados, é o vetor de busca, uma coluna, lista única.
  3. [vetor_result]: é o resultado dos dados, o que deseja retornar com relação a lista anterior.

Entendendo a função: Colocamos como primeiro argumento, o número 2, e no vetor de procura colocamos a fórmula que está comparando o valor da coluna de máquinas com a máquina selecionada.

isso resulta em um vetor com os seguintes dados: {FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;FALSO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO;VERDADEIRO}

O que faz com que sejam retornados FALSO e VERDADEIRO, como acima.

Para o Excel FALSO = 0 e VERDADEIRO = 1, então na lista está sendo pesquisado o número 2, e como ele não acha, porque temos apenas 0 e 1, ele vai até o último 1 e retorna esta posição.

Com isso a posição correspondente no vetor de resultado é retornada.

Retornar último valor PROCV no Excel usando PROCX – Solução 3

Temos por fim a melhor solução, que de longe é a mais performática, no entanto, apenas funcionará em versões do Excel 365 e à partir do 2021.

O Procx é uma função que veio substituir a função PROCV, com muito mais performance e opções. Veja mais sobre PROCX.

No nosso exemplo usamos a seguinte função:

=PROCX($H$6;$C$7:$C$24;$D$7:$D$24;;0;-1)

Como comparar ultimo valor com o penultimo no excel

A função PROCX possui 6 parâmetros:

  1. pesquisa_valor: valor que está sendo pesquisado.
  2. pesquisa_matriz: aonde será pesquisado.
  3. matriz_retorno: dados que serão retornados conforme a coluna de pesquisa.
  4. [se_não_encontrada]: se não encontrar ele retorna o valor ou texto que estiver neste parâmetro.
  5. [modo_correspondência]: 0-Correspondência exata, -1-Correspondência exata ou próximo item menor, 1-Correspondência exata ou próximo item maior, 2-Correspondência de caractere curinga. O padrão é o 0 e não mexemos aqui neste caso.
  6. [modo_pesquisa]: 1-Pesquisar do primeiro ao último, -1-Pesquisar último ao primeiro, 2-Pesquisa binária (ordem de classificação crescente), -2-Pesquisa binária (ordem de classificação decrescente. No caso usamos -1, pesquisar do último ao primeiro.

No exemplo acima, você não precisa ter uma lista ordenada ou usar uma função matricial para retornar os dados, basta você passar como o último parâmetro da função PROCX o valor -1, pois com este argumento no parâmetro a busca começará do último valor ao primeiro.

Reforçando, esta solução funciona apenas no Microsoft Excel 365 e 2021 em diante.

Download da Planilha Exemplo PROCV Último Valor Excel

Realize o download da planilha deste artigo no botão abaixo. Basta se inscrever na nossa newsletter gratuita para o download automático.

Baixe a planilha

Quer aprender Excel do Básico, passando pela Avançado e chegando no VBA? Clique na imagem abaixo:

Como comparar ultimo valor com o penultimo no excel

Português do Brasil

Olá pessoal!
Desde já, obrigado!

Eu gostaria de uma formula que fizesse o seguinte:

São 10 linhas

  1. Essa linha busca o ultimo valor de um intervalo
  2. Essa linha busca o penultimo valor de um intervalo
  3. Essa linha busca o antepenultimo valor de um intervalo
  4. Essa linha busca o 4º valor decrescente de um intervalo
  5. Essa linha busca o 5º valor decrescente de um intervalo
  6. Essa linha busca o 6º valor decrescente de um intervalo
  7. Essa linha busca o 7º valor decrescente de um intervalo
  8. Essa linha busca o 8º valor decrescente de um intervalo
  9. Essa linha busca o 9º valor decrescente de um intervalo
  10. Essa linha busca o 10º valor decrescente de um intervalo

Eu quero que a formula busque dentro de um intervalo em uma coluna!

O intervalo sempre será o mesmo.

No caso na minha planilha o intervalo é $'Histórico de Ordens'.C9:C10000

Eu até encontrei essa formula: =PROC(2;1/($'Histórico de Ordens'.C9:C10000>0);$'Histórico de Ordens'.C9:C10000)
Mas ela só me da o ultimo valor, não consegui fazer encontrar o penultimo e nem os demais.

Obs: Alguns valores são texto, então a formula precisa buscar texto também!

Complemento

Assim deu amigo!

Mas sinceramente, eu queria isso sem ter que numerar as linhas! Um amigo meu me disse, que com INDICE ou DESLOC dá pra fazer! Mas eu ainda não conheço muito bem essas duas funções!

Será que você conseguiria reproduzir isso aí sem ter que numerar? O resultado é esse aí mesmo que eu quero!

Aguardo resposta!

@rafaBrunnoS, , NÃO USE Adicionar resposta, para comentários…

Desculpa, sou novo no site, não sabia que havia diferença!

Ola @rafaBrunnoS, veja se e isso:

Usei uma coluna para numerar os itens.

Como comparar ultimo valor com o penultimo no excel

Arquivo do teste

Se entendi errado, poste um arquivo exemplo.

Complemento

No arquivo que postei na célula E9 use a formula:

=ÍNDICE($B$9:$C$29;CONT.VALORES($B$9:$B$29)-(LINHA()-9);1)

e araste para baixo.

ATENÇÂO:: Caso queira dar mais detalhes a sua pergunta, use

Como comparar ultimo valor com o penultimo no excel
na pergunta ou
Como comparar ultimo valor com o penultimo no excel
abaixo. Grato.

Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha

Como comparar ultimo valor com o penultimo no excel
a esquerda da resposta, para finalizar a pergunta.

Agora deu 100% Só que aparece um erro 505 quando não tem 10 celulas preenchidas! E no final fica com erro 505! Se houver alguma maneira de mostrar 0 ao invés do erro, fico grato!

Se não, eu faço dela uma formula fantasma e uso função SE mesmo!

=SEERRO(ÍNDICE($B$9:$C$29;CONT.VALORES($B$9:$B$29)-(LINHA()-9);1);0) mostra 0

Pronto, agora ficou perfeito amigo! Muito obrigado! 3ª vez que você me ajuda já!

Obrigado!

Posso entrar em contato aqui?
Tenho uma pequena duvida sobre uma outra pergunta que fiz!

@rafaBrunnoS, pode ser direto, ou