Notifications
Clear all

menor valor nos últimos 30 dias

8 Posts
2 Usuários
0 Reactions
1,354 Visualizações
(@juliowd)
Posts: 0
New Member
Topic starter
 

Olá! Mais uma vez recorro aos meus colegas do excel.
Pesquisei mais de 15 tópicos e não consegui encontrar uma solução.
Desta vez estou precisando encontrar a MENOR data nos últimos 30 dias (por exemplo).
Estes 30 dias eu defino na célula D8 (que podem ser 60, 90, etc).
Postei a planilha de exemplo.

Obrigado pela ajuda, amigos.

Atenciosamente,
Júlio

 
Postado : 28/09/2014 9:56 pm
(@gtsalikis)
Posts: 2373
Noble Member
 

Em E8, use essa fórmula matricial:

=MÍNIMO(SE(NÃO(ÉERROS('bermuda fem colcci'!$B$9:$B$13>=HOJE()-indicadores!D8));('bermuda fem colcci'!$B$9:$B$13)))

Se vc quiser listar as datas, da menor para a maior, use assim:

=MENOR(SE(NÃO(ÉERROS('bermuda fem colcci'!$B$9:$B$13>=HOJE()-indicadores!D8));('bermuda fem colcci'!$B$9:$B$13));LINS($8:8))

E arraste para baixo.

Lembrando, as fórmulas são matriciais, então, em vez de apenas pressionar Enter, vc deve finalizá-las com Ctrl + Shift + Enter. Vc vai notar que inseriu a fórmula corretamente se ela receber parêntesis {} no começo e fim.

Abs

 
Postado : 29/09/2014 5:13 am
(@juliowd)
Posts: 0
New Member
Topic starter
 

gtsalikis, obrigado pelo retorno!!

Inseri a fórmula ali. Porém não alterou. Mantive o "30" na D8. E continuou puxando a data mais antiga de todas. O "30" não interferiu em nada.
Ah, não se preocupe. Eu usei a matricial.

Onde será que precisamos ajustar?

Obrigado desde, amigo.

Atenciosamente,
Júlio

 
Postado : 29/09/2014 6:45 am
(@gtsalikis)
Posts: 2373
Noble Member
 

gtsalikis, obrigado pelo retorno!!

Inseri a fórmula ali. Porém não alterou. Mantive o "30" na D8. E continuou puxando a data mais antiga de todas. O "30" não interferiu em nada.
Ah, não se preocupe. Eu usei a matricial.

Onde será que precisamos ajustar?

Obrigado desde, amigo.

Atenciosamente,
Júlio

Agora eu não entendi.

No teu primeiro post, vc disse que queria a menor data, o que é a última data.

Vc quer a maior data? (A primeira)?

Se for isso, em vez de usar MÍNIMO() use MÁXIMO() e em vez de usar MENOR(), use MAIOR().

Abs

 
Postado : 29/09/2014 7:04 am
(@juliowd)
Posts: 0
New Member
Topic starter
 

Desculpa. Eu errei no último post.
É a data MAIS ANTIGA dentro do período informado na célula D8.

Abraço.

 
Postado : 29/09/2014 7:10 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Agora entendi. Desculpe, conferi por cima e achei que estava certo.

Tente assim:

=MÍNIMO(SE('bermuda fem colcci'!$B$9:$B$13>=HOJE()-indicadores!D8;'bermuda fem colcci'!$B$9:$B$13))

Se quiser que não apareça nada (caso não haja resultados válidos), use assim:

=SE(MÍNIMO(SE(NÃO(ÉERROS(1/(('bermuda fem colcci'!$B$9:$B$13<>"-")*('bermuda fem colcci'!$B$9:$B$13>=HOJE()-indicadores!D8))));'bermuda fem colcci'!$B$9:$B$13;1000000))=1000000;"";MÍNIMO(SE(NÃO(ÉERROS(1/(('bermuda fem colcci'!$B$9:$B$13<>"-")*('bermuda fem colcci'!$B$9:$B$13>=HOJE()-indicadores!D8))));'bermuda fem colcci'!$B$9:$B$13;1000000)))
 
Postado : 29/09/2014 8:03 am
(@juliowd)
Posts: 0
New Member
Topic starter
 

Gilmar, funcionou!!!

As duas!!

Mto legal!!!
Agradecido! Muito agradecido!
Se tu me permite abusar mais um pouquinho....
(1) Pelo que eu entendi da tua lógica, vc diminuiu o valor (D8) da data de hoje, e transformou ele como filtro naquele intervalo (bermuda fem colcci'!$B$9:$B$13). Foi isso?
(2) Sobre tua segunda fórmula, ela não deixará a planilha mto pesada? Isso porque terei mais ou menos 1000 linhas usando essa fórmula que você criou pra mim... Pensei em usar SEERRO, mas já vi que não funcionam TEXTOS ao final com fórmula matricial.

Obrigado mais uma vez, Gilmar!!!

Atenciosamente,
Júlio

 
Postado : 29/09/2014 8:15 am
(@gtsalikis)
Posts: 2373
Noble Member
 

Gilmar, funcionou!!!

As duas!!

Mto legal!!!
Agradecido! Muito agradecido!

Obrigado mais uma vez, Gilmar!!!

Atenciosamente,
Júlio

Fico que feliz que ajudou :D

Respondendo as tuas perguntas:

(1) Pelo que eu entendi da tua lógica, vc diminuiu o valor (D8) da data de hoje, e transformou ele como filtro naquele intervalo (bermuda fem colcci'!$B$9:$B$13). Foi isso?

Exatamente isso.

(2) Sobre tua segunda fórmula, ela não deixará a planilha mto pesada? Isso porque terei mais ou menos 1000 linhas usando essa fórmula que você criou pra mim... Pensei em usar SEERRO, mas já vi que não funcionam TEXTOS ao final com fórmula matricial.

(2) Sobre tua segunda fórmula, ela não deixará a planilha mto pesada? Isso porque terei mais ou menos 1000 linhas usando essa fórmula que você criou pra mim...

Infelizmente, sim, vai ficar pesada, por 2 motivos:

1 - O uso da função HOJE(). Essa função é uma "função volátil", o que significa, resumidamente, que, por qualquer alteração que vc fizer na planilha, todas as células que contenham essa fórmula vão recalcular, no caso, a cada célula que vc preencher, vai recalcular todas as 1000 fórmulas matriciais.

Para evitar isso, vc pode inserir o dia atual manualmente toda vez que abrir a planilha, numa célula, digamos A1. Assim não vai precisar da função HOJE().

2 - Fórmula matricial é sempre mais pesada. Abaixo, segue uma alternativa sem matricial:

=SOMARPRODUTO(('bermuda fem colcci'!$B$9:$B$13)*((('bermuda fem colcci'!$B$9:$B$13>=HOJE()-D8)*LIN(INDIRETO("1:"&LINS('bermuda fem colcci'!$B$9:$B$13))))=(SOMARPRODUTO(--('bermuda fem colcci'!$B$9:$B$13<HOJE()-D8)))))

Talvez ajude, porém, lembre-se de trocar a função HOJE() por uma referência em uma célula.

Pensei em usar SEERRO, mas já vi que não funcionam TEXTOS ao final com fórmula matricial.

Infelizmente, SEERRO não deu certo mesmo (eu tinha tentado outras maneiras de simplificar a fórmula, mas o que atrapalhou mesmo foi o uso de "-" nos campos vazios. Isso complicou para deixar os campos vazios quando não há resultados.

Porém, vc pode usar a primeira fórmula, mais leve, e formatar a célula com formatação condicional, assim: dd/mm/aaaa;;

Abs

 
Postado : 29/09/2014 10:33 am