Veja como retornar o último valor de uma lista com PROCV no Excel de três formas diferentes. Show 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? 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 1No 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. Classificado pela coluna Máquina, que será a coluna de consultaCom os dados classificados use a seguinte função: =PROCV($H$6;$C$7:$D$24;2;1) O PROCV possui 4 argumentos:
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 2Para 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) Veja que estamos usando a função PROC e não PROCV, veja os argumentos e depois explico a lógica:
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 3Temos 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) A função PROCX possui 6 parâmetros:
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 ExcelRealize 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:
Português do Brasil
Olá pessoal! Eu gostaria de uma formula que fizesse o seguinte: São 10 linhas
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) Obs: Alguns valores são texto, então a formula precisa buscar texto também! ComplementoAssim 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. Arquivo do testeSe entendi errado, poste um arquivo exemplo. ComplementoNo 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 na pergunta ou abaixo. Grato.Caso a resposta atendeu sua necessidade, por gentileza, click na bolinha 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?
@rafaBrunnoS, pode ser direto, ou |