Este fórum foi descontinuado. LEIA AQUI e participe da Comunidade BABOO :)

A área de Remoção de Malwares está aberta na Comunidade BABOO. LEIA AQUI

Ir para conteúdo
Tesar

RESPONDIDO Retornar último valor diferente de zero

Mensagem Recomendada

Boa tarde a todos,

 

Procurei no fórum mas infelizmente não achei...

 

Preciso de uma fórmula que me retorne o último valor diferente de "zero".

 

EX.:

 

Na coluna A (1,   2,    45,   0,   0,   6,   0,   78,   23,   0,   0,   12)

 

 

Então, eu verifiquei possibilidades usando ÍNDICE, LIN, LINS, etc, mas não entendi direito o mecanismo de funcionamento dessas ferramentas....

 

A fórmula em si, nesse caso, teria que me retornar o valor 12 (A12), caso o 12 vire zero retornaria 23.... Preciso dessa situação para adicionar numa fórmula, onde o último valor maior que zero irá multiplicar um certo valor.

 

Agradeço desde já a ajuda de todos.

 

ATT

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Tesar

 

Acho que você não procurou direito.. rsrsrs

 

No tópico abaixo tem a resposta que você deseja com uma fórmula do mestre Osvaldo.

 

http://www.babooforum.com.br/forum/index.php?/topic/760886-excel-capturar-o-%C3%BAltimo-valor-preenchido-da-coluna/

 

Dê retorno.

 

Att.


Patropi - Moderador

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde Tesar

 

Acho que você não procurou direito.. rsrsrs

 

No tópico abaixo tem a resposta que você deseja com uma fórmula do mestre Osvaldo.

 

http://www.babooforum.com.br/forum/index.php?/topic/760886-excel-capturar-o-%C3%BAltimo-valor-preenchido-da-coluna/

 

Dê retorno.

 

Att.

Boa tarde Office Expert,

 

Eu vi as fórmulas em questão.... infelizmente elas não se aplicam no meu caso, apesar de tentar usa-las e adaptá-las sem sucesso!!

 

Eu não quero o último número, como é o caso daquela dúvida, eu quero o último maior do que zero, indiferente de qual posição isso ocorra.

 

Caso somente o 1º valor seja maior que zero, este valor que preciso, se for o 2º, 3º, etc... seja qual for o último valor maior que zero, é ele que preciso...

 

Mas de qualquer forma obrigado pela resposta

Compartilhar este post


Link para o post
Compartilhar em outros sites

=PROC(2;1/(A1:A100>0);A1:A100)

Olá Osvaldo,

 

Realmente sua fama te antecede.... vi o post que você explicou para um outro rapaz, tentei aplicar mas não sei porque não deu certo anteriormente. Agora funcionou perfeitamente!!

 

Qual a função do 2 na fórmula?

 

Muito obrigado novamente

 

ATT

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual a função do 2 na fórmula?

 

Fala, Tesar.

 

=PROC(2;1/(A1:A100>0);A1:A100)

A função PROC, escrita com a sintaxe acima funciona assim: >> PROC(valor procurado; matriz pesquisada; matriz retornada)

no seu caso:

valor procurado - 2

matriz pesquisada - A1:A100

matriz retornada - A1:A100 (retorna um elemento desta matriz)

outro exemplo:

valor procurado - 3

matriz pesquisada - 1, 2, 3, 4

matriz retornada - 10, 20, 30, 40

a função seria >>  = PROC(3;1,2,3,4;10,20,30,40)

o valor procurado (3) corresponde ao terceiro elemento da matriz pesquisada, então a função retornará o terceiro elemento da matriz retornada, ou seja, retornará 30.

Premissa da função (é o pulo do gato): se valor procurado for maior do que todos os elementos da matriz pequisada, então o elemento escolhido pela função será o último elemento da matriz pesquisada, lembrando que elementos iguais a erro são ignorados pela função para a escolha, mas não para a contagem.

obs. este modo da função tem funcionamento matricial de fábrica, por isso não há necessidade de inserí-la como matricial

outro exemplo >> seja a tabela abaixo:

    A

    3

   -2

    0

    8

   -1

utilizando nessa tabela o mesmo critério do seu caso, ou seja, busca-se o último valor maior do que zéro da coluna "A", que é o número 8, localizado em A4, a função seria:

valor procurado - não sei

matriz buscada -  são os elementos do intervalo A1:A5

matriz retornada - será o elemento de A1:A5 que corresponda à ordem do elemento escolhido em matriz procurada

então, até aqui temos >> =PROC(não sei;(A1:A5>0);A1:A5)

iniciando os cálculos da função (lembrando que ela é matricial) pela aplicação do critério  >> (A1:A5>0) e aplicando na tabela acima, a função construirá uma matriz, a partir dos elementos do intervalo pesquisado na tabela,da seguinte forma:

    a) se o valor na tabela for maior do que zéro a ele será atribuido  VERDADEIRO ( V )  >> atende ao critério   e

    b) se o valor na tabela for menor do que ou igual a zéro a ele será atribuido  FALSO ( F )  >> não atende ao critério,  então:

A1 = 3 >> V

A2 = -2 >> F

A3 = 0 >> F

A4 = 8 >> V

A5 = 1- >> F

até aqui temos >> =PROC(não sei;{V, F, F, V, F}; A1:A5)

daí surge um problema >> procurar por um número (que não sei qual é, mas sei que é um número) em uma matriz composta pelas letras V e F não vai dar certo...

então forçamos os Vs e os Fs a se converterem em números, lembrando que o Excel atribui valor 1 ao V e valor 0 ao F, dessa forma a função vai procurar um número entre números e não entre letras.

 

Por conveniência, para "forçar", a opção é dividir o número 1 por cada elemento da matriz >>  =PROC(não sei;1/{V, F, F, V, F};A1:A5).

Aí o Excel se liga que deve transformar V em 1 e F em 0, então >> =PROC(não sei;1/{1, 0, 0, 1, 0}; A1:A5).

Daí, dividindo 1 por cada elemento resulta em  >>  =PROC(não sei;{1, #DIV/0!,  #DIV/0!, 1,  #DIV/0!};A1:A5).

Conclui-se que a matriz resultante (matriz pesquisada) será formada por somente 2 tipos de elementos, o número 1 e o erro #DIV/0!.

 

O elemento que interessa escolher, neste caso, é o de ordem 4, pois ele aponta para o segundo número 1 da matriz resultante, visto que aquele número 1 corresponde ao último valor maior que zéro na coluna "A" >> A4 = 8, já que o último é erro, que a função não escolhe.

Retornando ao pulo do gato, se o maior valor possível da matriz pesquisada só pode ser igual a 1, então se valor procurado for qualquer valor maior do que 1 a função escolherá o último valor da matriz resultante, lembrando que erros são ignorados na escolha.

Então, valor procurado que há pouco era "não sei", agora poderá ser qualquer valor maior do que 1.

Exemplos para "não sei"   >>  1,00000000001... ou    65.325.487   ou  2...daí

=PROC(1,00000000001;{1, #DIV/0!,  #DIV/0!, 1,  #DIV/0!}; A1:A5)     ou

=PROC(65.325.487;{1, #DIV/0!,  #DIV/0!, 1,  #DIV/0!}; A1:A5)     ou

=PROC(2;{1, #DIV/0!,  #DIV/0!, 1,  #DIV/0!}; A1:A5)  >> o número 2 é o mais fofinho dos três, né... por isso ele foi o eleito para ser argumento da sua função !

Como valor procurado (2) é maior do que todos os elementos de matriz pesquisada, então o elemento escolhido pela função será o quarto elemento da matriz pesquisada, visto que o quinto (e último) elemento é erro.

E o quarto elemento na matriz retornada corresponde a A4, que é o número 8.

obs. se a tabela ocupar várias colunas e for requerido retornar valor de outra coluna, que não a primeira, basta alterar na função a matriz retornada, que a função retornará o quarto elemento da matriz retornada.

exemplo: =PROC(2;1/(A1:A5>0);D1:D5) >> a matriz retornará o valor contido em D4.

mais informações >> no endereço abaixo estão as dicas do Bill Gates sobre esta função

http://support.microsoft.com/kb/324986

 

sugestão >> selecione a fórmula e no menu Fórmulas >> Avaliar fórmula acompanhe o passo-a-passo de seu funcionamenrto

 


 

Osvaldo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Osvaldo, sensacional a explicação...

 

Agora compreendi a ideia da fórmula, super simples e como você disse, a sacada dela é esse pulo do gato rrsrsrs.

 

Eu havia ficado na dúvida sobre a função do 1 e do 2 na fórmula, e anteriormente estava passando exatamente pelo problema de aparecer o Verdadeiro e Falso a arte de cálculo, o que gerava o resultado #VALOR.

 

Com a explicação ficou simples em entender que somente duas possibilidades de resultados são possíveis e que para forçar que eu escolha a ultima a parecer, bastou e dizer que quero a "maior delas".

 

Novamente muito obrigado pela excelente explicação..

 

ATT

Compartilhar este post


Link para o post
Compartilhar em outros sites

Daria para aplicar essa mesma função, porém para retornar o último, penúltimo e antepenúltimo valores? Sem considerar as células vazias.

Ex:

sequência: 1, 2, 3, 4, -, 5, -, -, 1

Retornaria os valores: 1, 5 e 4.

 

Eu tentei usar a fórmula do link abaixo, porém ela só está funcionando se a sequência iniciar exatamente na célula A1:

http://www.economis.com.br/noticias/retornarultimopenultimoantepenultimonvalordeumalinhacolunanoexcel

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×
×
  • Criar Novo...