JSCOPA,
eu estava estudando aqui a fórmula que vc me passou. Eu a adaptei à minha planilha original e de fato a fórmula funciona e faz quase tudo o que eu preciso, com exceção de reconhecer o '0' (Zero) como um número válido para o cálculo. A outra solução que vc deu, o de transformar os valores de 0 em 0,01. realmente funciona e não muda o resultado, e eu até posso ir utilizando essa solução de forma paliativa até encontrar uma solução definitiva, já vai me ajudar bastante.
Contudo, como essa fórmula que eu estou procurando não é para trabalho, e sim apenas para hobby e para estudo/conhecimento do Excel (e por isso eu não possuo urgência em encontrar uma solução), eu ainda vou tentar ver se eu encontro uma fórmula que me dê uma solução completa. Como eu disse pro outro colega, a ideia é automatizar a planilha o máximo possível, e não adicionar uma segunda etapa de atuação do usuário. E essa automatização eu desejo fazer apenas por meio de fórmula (como disse, estou fazendo isso também para questão de estudo e conhecimento).
Basicamente, o que eu estou precisando é encontrar uma fórmula que me retorne os últimos 'n' valores de uma sequência de dados que é alimentada com o passar do tempo, e que considere zeros como números válidos e desconsidere células vazias.
Embora eu tenha solicitado que eu queria uma fórmula que trouxesse a média dos três últimos valores, na verdade eu estou tentando achar uma fórmula que, com mínimos ajustes, seja capaz de se ajustar a qualquer 'n' últimos valores que eu deseje fazer média, podendo assim ser utilizada em diversas finalidades. Pode ser os 3 últimos números, pode ser os 12 últimos números, pode ser os 100 últimos números de uma sequência. Na fórmula que vc me passou, eu entendi que a parte da fórmula que procura um dos números na sequência é essa: " ÍNDICE(D6:O6;MAIOR(SE(D6:O6;COL(D6:O6)-2);3)-1) ". Então, toda vez que eu quiser aplicar a fórmula em outras planilhas para outras funções buscando uma outra quantidade 'n' de números diferentes, eu terei que copiar e colar novamente essa parte da fórmula, mudando a sequência numérica do final.
Dessa forma, fica inviável ajustar essa fórmula quando se deseja buscar um número 'n' muito grande dos últimos valores de uma sequência. Eu imagino que o Excel deva ter uma forma de fazer essa busca com uma fórmula mais simples que possa ser facilmente ajustada a diversos cenários. De novo, tudo o que eu preciso é de uma fórmula que me retorne os últimos 'n' valores de uma sequência de dados que é alimentada com o passar do tempo.
========================
Uma pequena contribuição de minha parte:
Eu fiz uma pequena alteração na fórmula que vc me enviou que automatizou a fórmula simplificando-a de uma maneira bem legal. Eu entendi que a primeira parte da fórmula que vc me passou é para calcular a média da sequência quando ela for menor do que '3'. A parte da fórmula é essa:
=SE(CONT.SE(D7:O7;">0")=0;" ";SE(CONT.SE(D7:O7;">0")=1;MÁXIMO(D7:O7);SE(CONT.SE(D7:O7;">0")=2;SOMA(D7:O7)/2
Aqui você criou uma função 'SE' para cada cenário possível, ou seja, para quando a sequência não tiver nenhum valor, para quando a sequência tiver apenas 1 valor, e para quando a sequência tiver 2 valores. Contudo, se quisermos ajustar essa fórmula para uma outra utilidade, por exemplo no caso de eu quiser a média dos últimos 12 períodos, ajustar essa primeira parte da fórmula ficaria muito trabalhosa. Teríamos que criar um novo bloco da função 'SE' 12 vezes para pode fazer funcionar. Bem, eu encontrei uma função simples que automatiza bastante essa primeira parte da função, e que funciona para qualquer cenário com o mínimo de ajuste. Veja abaixo:
=SE(CONT.SE(D7:O7;"<>")<=4;SEERRO(MÉDIASE(D7:O7;"<>""");"");
Neste caso, bastaria apenas nós substituirmos o número '4' da função acima para a quantidade de 'n' números que desejarmos. Essa primeira parte da função ficou bem automatizada.
Postado : 26/05/2018 10:28 am