Ir ao conteúdo

Visual Basic Calcular a Media (Average) dos ultimos 6 meses.


Ir à solução Resolvido por FlaviaTaynara,

Posts recomendados

Postado

Olá,

O usuário do Excel exportará os dados de um site online para o Excel (dados de 12 meses), logo os dados serao sempre diferentes. Portanto, a fórmula ou VBA codigo precisaria ser dinâmica.

 

Desejo calcular a média dos últimos 6 meses (no entanto, o cálculo precisa usar os meses que tenho nos dados e, às vezes, haverá menos de 6 ou 12 meses, ou pode ser como: Jun, Aug, Set, Dez, -2019 & Fev, Mar, Abr 2020) mas ainda preciso obter a média para isso. Estou tentando de maneira diferente com esta fórmulas:

 

=IF(MONTH(MAX('12 Months'!A:A)-MIN('12 Months'!A:A))>=6,COUNTIF('12 Months'!A:A,">="&EDATE(MAX('12 Months'!A:A),-6))/6,AVERAGEIF('12 Months'!F:F,">="&MIN('12 Months'!F:F))/MONTH(MAX('12 Months'!F:F)-MIN('12 Months'!F:F)))     esta eu simplesmente nao sei, apenas juntei tudo para ver se funcionava...

 

 

(pois tenho uma formula aprecida para tirar a media da frequencia e funcionou entao pensei que se usasse as duas daria certo. esta e a formula da frequencia que funciona como preciso  

=IF(MONTH(MAX('12 Months'!A:A)-MIN('12 Months'!A:A))>=6,COUNTIF('12 Months'!A:A,">="&EDATE(MAX('12 Months'!A:A),-6))/6,COUNTIF('12 Months'!A:A,">="&MIN('12 Months'!A:A))/MONTH(MAX('12 Months'!A:A)-MIN('12 M onths'!A:A))) 

 

E

 

=AVERAGEIF(('12 Months'!A:A),">="&EDATE(MAX('12 Months'!A:A),-12),('12 Months'!F:F)) ''' esta funciona, porém esta calculando como o ano enteiro e nao somente os meses que eu tenho no meus dadtos. 

 

 

  • Curtir 1
  • Solução
Postado
Em 22/04/2020 às 14:56, FlaviaTaynara disse:

Olá,

O usuário do Excel exportará os dados de um site online para o Excel (dados de 12 meses), logo os dados serao sempre diferentes. Portanto, a fórmula ou VBA codigo precisaria ser dinâmica.

 

Desejo calcular a média dos últimos 6 meses (no entanto, o cálculo precisa usar os meses que tenho nos dados e, às vezes, haverá menos de 6 ou 12 meses, ou pode ser como: Jun, Aug, Set, Dez, -2019 & Fev, Mar, Abr 2020) mas ainda preciso obter a média para isso. Estou tentando de maneira diferente com esta fórmulas:

 

=IF(MONTH(MAX('12 Months'!A:A)-MIN('12 Months'!A:A))>=6,COUNTIF('12 Months'!A:A,">="&EDATE(MAX('12 Months'!A:A),-6))/6,AVERAGEIF('12 Months'!F:F,">="&MIN('12 Months'!F:F))/MONTH(MAX('12 Months'!F:F)-MIN('12 Months'!F:F)))     esta eu simplesmente nao sei, apenas juntei tudo para ver se funcionava...

 

 

(pois tenho uma formula aprecida para tirar a media da frequencia e funcionou entao pensei que se usasse as duas daria certo. esta e a formula da frequencia que funciona como preciso  

=IF(MONTH(MAX('12 Months'!A:A)-MIN('12 Months'!A:A))>=6,COUNTIF('12 Months'!A:A,">="&EDATE(MAX('12 Months'!A:A),-6))/6,COUNTIF('12 Months'!A:A,">="&MIN('12 Months'!A:A))/MONTH(MAX('12 Months'!A:A)-MIN('12 M onths'!A:A))) 

 

E

 

=AVERAGEIF(('12 Months'!A:A),">="&EDATE(MAX('12 Months'!A:A),-12),('12 Months'!F:F)) ''' esta funciona, porém esta calculando como o ano enteiro e nao somente os meses que eu tenho no meus dadtos. 

 

 

Resposta eh: 

 

A:A- coluna de data , B:B - coluna de valores


=IF(MONTHS(MAX(A:A)-MIN(A:A))>=6;SUMIF(A:A;">="&EDATE(MAX(A:A);-6);B:B)/6;SUMIF(A:A;">="&EDATE(MAX(A:A);-6);B:B)/MONTHS(MAX(A:A)-MIN(A:A)))

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...