Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

calcolo media mobile sempre su ultimi 12 mesi in automatico

862 views
Skip to first unread message

ocea...@gmail.com

unread,
Jan 24, 2016, 9:48:26 AM1/24/16
to
Buongiorno a tutti,

vorrei calcolare in modo automatico la media mobile sempre su 12 mesi. Provo a spiegarmi.

Ho un file Excel dove:
*riga 1 ci sono i mesi gen 2015, feb 2015, mar 2015 e così via fino a dic 2015
*riga 2 ci sono la vendite nei vari mesi sopra riportati
*riga 3 ci sono ad esempio gli ordini sempre nei mesi sopra riportati.

quindi le prime 12 colonne compilate.

Adesso dovrei iniziare a compilare i dati relativi all'anno in corso.

Quello che, se possibile, vorrei cercare di fare è creare un formula (o macro ma sono ignorante in materia) nella colonna AD che nel momento in cui inserisco i valori di gen 2016 mi calcola automaticamente la media da gen15-gen16, e così quando inserisco i valori di feb 2016 mi calcola la media sugli ultimi 12 mesi e così via.

C'è qualcuno che può darmi una mano su come impostare questo calcolo?

Grazie

Paolo

casanmaner

unread,
Jan 24, 2016, 10:59:33 AM1/24/16
to
Prova questa da inserire in forma matriciale (Ctrl+Maiusc+Invio):
=SOMMA(INDIRETTO(INDIRIZZO(2;CONFRONTA(0;VALORE(A2:X2);0)-1)& ":" & INDIRIZZO(2;CONFRONTA(0;VALORE(A2:X2);0)-12)))/12

casanmaner

unread,
Jan 24, 2016, 11:45:01 AM1/24/16
to
Scritta così darebbe errore quando andrai a compilare il mese di dicembre 2016.
Quindi per risolvere si potrebbe scrivere così:

=SOMMA(INDIRETTO(INDIRIZZO(RIF.RIGA(A2);SE.ERRORE(CONFRONTA(0;VALORE(A2:X2);0);24))& ":" & INDIRIZZO(RIF.RIGA(A2);SE.ERRORE(CONFRONTA(0;VALORE(A2:X2);0);25)-12)))/12

Altra differenza è data dal riferimento alla riga inserito in INDIRIZZO dove prima era 2 (valore fisso) e ora prende il numero in base alla riga della prima cella (A2) dell'intervallo di riferimento A2:X2

Un'altra criticità di questa formula è se hai dei valori 0(zero) nei vari mesi precedenti.
In pratica funziona solo se sono vuote o pari a zero le sole celle dei mesi da dic/2016 fino a gen/2016.

Andrea.9

unread,
Jan 24, 2016, 12:41:34 PM1/24/16
to
> Ho un file Excel dove:
> *riga 1 ci sono i mesi gen 2015, feb 2015, mar 2015 e così via fino a dic 2015
> *riga 2 ci sono la vendite nei vari mesi sopra riportati

prova cosi':
ipotizzo l'intervallo dei dati in C2:Z2 dove C2 e' gennaio 2015 e Z2 e' dicembre 2016.
le prime due colonne le ho lasciate vuote e nella mia formula sono rappresentate dal 2+seguito da CONTA.SE
se il numero delle colonne non interessate dai dati e' diverso modifica di conseguenza.
il primo 2 dopo INDIRIZZO( e' la riga
=MEDIA(INDIRETTO(INDIRIZZO(2;2+CONTA.SE(C2:Z2;">0")-11)&":"&INDIRIZZO(2;2+CONTA.SE(C2:Z2;">0"))))
anche questa formula richiede i dati dalla prima colonna utile (gennaio 2015)
ciao
andrea

casanmaner

unread,
Jan 24, 2016, 1:06:52 PM1/24/16
to
Andrea è se nella tua la condizione fosse <>"" in modo che se un mese ha vendite 0 comunque il mese viene contato per la media?

ocea...@gmail.com

unread,
Jan 24, 2016, 1:22:40 PM1/24/16
to

Prova questa da inserire in forma matriciale (Ctrl+Maiusc+Invio):
SOMMA(INDIRETTO(INDIRIZZO(2;CONFRONTA(0;VALORE(A2:X2);0)-1)& ":" & INDIRIZZO(2;CONFRONTA(0;VALORE(A2:X2);0)-12)))/12
>
Scritta così darebbe errore quando andrai a compilare il mese di dicembre 2016.
Quindi per risolvere si potrebbe scrivere così:

SOMMA(INDIRETTO(INDIRIZZO(RIF.RIGA(A2);SE.ERRORE(CONFRONTA(0;VALORE(A2:X2);0);24))& ":" & INDIRIZZO(RIF.RIGA(A2);SE.ERRORE(CONFRONTA(0;VALORE(A2:X2);0);25)-12)))/12

Altra differenza è data dal riferimento alla riga inserito in INDIRIZZO dove prima era 2 (valore fisso) e ora prende il numero in base alla riga della prima cella (A2) dell'intervallo di riferimento A2:X2

Un'altra criticità di questa formula è se hai dei valori 0(zero) nei vari mesi precedenti.
In pratica funziona solo se sono vuote o pari a zero le sole celle dei mesi da dic/2016 fino a gen/2016.


Ciao,
anzitutto grazie mille del ricontro.

Ho provato a mettere la formula che mi hai gentilmente costruito.
nel mio file ho messo in col B1 a Y1 i mesi da gen 2015 a dic 2016.
da B1 a M1 ho messo questa serie di valori 720;733;978;612;699;746;800;413;751;920;1036;836 mentre le celle da N1 a Y1 (mesi 2016) sono vuote. Poi nella cella AA1 ho messo la formula che mi hai indicato (in inglese) e cambiando gli intervalli B2:Y2 ma con i valori di cui sopra mi da come risultato 69,66 periodico.
Dove sbaglio?
grazie
paolo


casanmaner

unread,
Jan 24, 2016, 2:08:54 PM1/24/16
to
Il giorno domenica 24 gennaio 2016 15:48:26 UTC+1, ocea...@gmail.com ha scritto:
Se i tuoi dati iniziano dalla colonna B (e non dalla A come avevo ipotizzato) per prima cosa la formula va modificata in questo modo:
=SOMMA(INDIRETTO(INDIRIZZO(RIF.RIGA(A2);SE.ERRORE(CONFRONTA(0;VALORE(B2:Y2);0);24))& ":" & INDIRIZZO(RIF.RIGA(A2);1+SE.ERRORE(CONFRONTA(0;VALORE(B2:Y2);0);25)-12)))/12


Inoltre non hai inserito la formula in forma matriciale.
Devi digitare contemporaneamente i tasti Ctrl (Controlo) + Shift (Maiscolo) + Enter (Invio)

Però fosse in te utilizzerei la formula di Andrea che è più efficiente :-)

casanmaner

unread,
Jan 24, 2016, 2:29:40 PM1/24/16
to
Il giorno domenica 24 gennaio 2016 20:08:54 UTC+1, casanmaner ha scritto:
> Ctrl (Controlo) + Shift (Maiscolo) + Enter (Invio)

ehm ... sono "disgrafico" :-)

Ctrl (Control) + Shift (Maiuscolo) + Enter (Invio)

paoloard

unread,
Jan 24, 2016, 4:11:32 PM1/24/16
to


ha scritto nel messaggio
news:5a2f52b5-64ee-4d71...@googlegroups.com...
Io ti ho risposto qui:
http://is.gd/pW6zZW

paoloard

Andrea.9

unread,
Jan 24, 2016, 4:17:34 PM1/24/16
to
Il giorno domenica 24 gennaio 2016 19:06:52 UTC+1, casanmaner ha scritto:
> Andrea è se nella tua la condizione fosse <>"" in modo che se un mese ha vendite 0 comunque il mese viene contato per la media?

cosi' si adatta ai tuoi intervalli e condidera vendite 0 (zero)
=MEDIA(INDIRETTO(INDIRIZZO(2;1+CONTA.SE(B2:Y2;">-1")-11)&":"&INDIRIZZO(2;1+CONTA.SE(B2:Y2;">-1"))))
ciao
andrea

Norman Jones

unread,
Jan 24, 2016, 4:22:36 PM1/24/16
to

> Io ti ho risposto qui:
> http://is.gd/pW6zZW
>
> paoloard

Credo che Fratello Paolo intendesse:
http://goo.gl/MkaqM7




===
Regards,
Norman

Norman Jones

unread,
Jan 24, 2016, 4:24:45 PM1/24/16
to

> Io ti ho risposto qui:
> http://is.gd/pW6zZW
>
> paoloard



Credo che Fratello Paolo intendesse:
http://goo.gl/D2SI2Q


===
Regards,
Norman

paoloard

unread,
Jan 24, 2016, 4:28:24 PM1/24/16
to


"Norman Jones" ha scritto nel messaggio
news:n83fa3$1ej2$1...@gioia.aioe.org...
Grazie Fratello! Se non ci fossi tu....;-)
Ciao paoloard

Andrea.9

unread,
Jan 24, 2016, 4:41:37 PM1/24/16
to
> Credo che Fratello Paolo intendesse:
> http://goo.gl/D2SI2Q
> ===
> Regards,
> Norman

meno male che c'e' Norman ;-)
pero' non mi torna =SE(AD2=0;"";MEDIA(B2:$M2;AD2))
tenendo conto dei tuoi intervalli non dovrebbe essere cosi'?
=SE(AD2=0;"";MEDIA(C2:$M2;$AD2:AD2))
ciao
andrea

paoloard

unread,
Jan 25, 2016, 5:36:16 AM1/25/16
to


"Andrea.9" ha scritto nel messaggio
news:ddbbaffe-a5df-4e3b...@googlegroups.com...
Ebbene sì, osservazione più che pertinente anche sostituendo il primo
argomento con C2 al posto del mio B2. In quanto, ad una più attenta lettura,
si dovrebbe escludere il gen 2015. Quindi, mi approprio della tua
correzione:
=SE(AD2=0;"";MEDIA(C2:$M2;$AD2:AD2))
Quindi vado a correggere la formula nel forum citandoti quale correttore.
ciao paoloard

ocea...@gmail.com

unread,
Jan 26, 2016, 12:12:51 PM1/26/16
to
andrea
>
> Ebbene sì, osservazione più che pertinente anche sostituendo il primo
> argomento con C2 al posto del mio B2. In quanto, ad una più attenta lettura,
> si dovrebbe escludere il gen 2015. Quindi, mi approprio della tua
> correzione:
> =SE(AD2=0;"";MEDIA(C2:$M2;$AD2:AD2))
> Quindi vado a correggere la formula nel forum citandoti quale correttore.
> ciao paoloard


buonasera.
Anzittuto desidero ringraziarVi tutti quanti per il prezioso aiuto. Ho provato ad applicare le formule da voi voi proposte ma a parte una volta che utilizzando la formula proposta da Andrea.9 che sembrava funzionare tutto alla perfezione poi non sono più riuscito a calcolare la media mobile con ninete di quanto da Voi proposto. In questo periodo, per vari motivi, sono un po più stordito del solito per cui vi prego di avere pazienza e di ripropormi le formule ipottizzando di:
- calcolare la media mobile in col AD
- l'intervallo dei valori va col C-N (per il 2015) e O-Z per il 2016
- alcune celle possono contenere anche valori negativi

e così per varie righe

Potreste inoltre indicarmiun sito o un libro dove poter apprendere quelle formule che voifantasticamente maneggiate?
Grazie ancora
Paolo

paoloard

unread,
Jan 26, 2016, 1:23:56 PM1/26/16
to


ha scritto nel messaggio
news:3f943705-3f12-4851...@googlegroups.com...

andrea
>
> Ebbene sě, osservazione piů che pertinente anche sostituendo il primo
> argomento con C2 al posto del mio B2. In quanto, ad una piů attenta
> lettura,
> si dovrebbe escludere il gen 2015. Quindi, mi approprio della tua
> correzione:
> =SE(AD2=0;"";MEDIA(C2:$M2;$AD2:AD2))
> Quindi vado a correggere la formula nel forum citandoti quale correttore.
> ciao paoloard


buonasera.
Anzittuto desidero ringraziarVi tutti quanti per il prezioso aiuto. Ho
provato ad applicare le formule da voi voi proposte ma a parte una volta che
utilizzando la formula proposta da Andrea.9 che sembrava funzionare tutto
alla perfezione poi non sono piů riuscito a calcolare la media mobile con
ninete di quanto da Voi proposto. In questo periodo, per vari motivi, sono
un po piů stordito del solito per cui vi prego di avere pazienza e di
ripropormi le formule ipottizzando di:
- calcolare la media mobile in col AD
- l'intervallo dei valori va col C-N (per il 2015) e O-Z per il 2016
- alcune celle possono contenere anche valori negativi

e cosě per varie righe

Potreste inoltre indicarmiun sito o un libro dove poter apprendere quelle
formule che voifantasticamente maneggiate?
Grazie ancora
Paolo


Ma hai guardato nel forum?
http://answers.microsoft.com/it-it/office/forum/office_2007-excel/media-mobile-su-12-mesi-automatica/77ee4e5f-e056-491d-ad6d-f5a8960165fc

paoloard

casanmaner

unread,
Jan 26, 2016, 2:40:32 PM1/26/16
to
Rubando l'idea di Andrea :-)
Ipotizzando che in riga 1 ci siano i mesi/anno e dalla riga 2 inizini i valori di cui vuoi la media mobile prova ad inserire questa nella cella AD2

=MEDIA(INDIRETTO(INDIRIZZO(RIF.RIGA(AD17);RIF.COLONNA(C17)-RIF.COLONNA($A$1)+SE(CONTA.SE(C17:Z17;"<>")<12;12;CONTA.SE(C17:Z17;"<>"))-11)&":"&INDIRIZZO(RIF.RIGA(AD17);RIF.COLONNA(C17)-RIF.COLONNA($A$1)+SE(CONTA.SE(C17:Z17;"<>")<12;12;CONTA.SE(C17:Z17;"<>")))))

N.B. nei vari mesi "precedenti" non devono essere presenti celle vuote. Se in quel mese il valore fosse ZERO va inserito 0 (valore numerico) e non lasciata la cella vuota.
In questo modo si dovrebbero rendere "dinamici" anche i riferimenti alla riga e alla colonna da dove iniziano i valori

casanmaner

unread,
Jan 26, 2016, 3:36:20 PM1/26/16
to
Ops ... vedo solo ora che ho fatto il copia/incolla della formula della riga 17 :-)
Per partire da AD2 devi inserire questa:
=MEDIA(INDIRETTO(INDIRIZZO(RIF.RIGA(AD2);RIF.COLONNA(C2)-RIF.COLONNA($A$1)+SE(CONTA.SE(C2:Z2;"<>")<12;12;CONTA.SE(C2:Z2;"<>"))-11)&":"&INDIRIZZO(RIF.RIGA(AD2);RIF.COLONNA(C2)-RIF.COLONNA($A$1)+SE(CONTA.SE(C2:Z2;"<>")<12;12;CONTA.SE(C2:Z2;"<>")))))

Andrea.9

unread,
Jan 27, 2016, 6:16:22 AM1/27/16
to
> - calcolare la media mobile in col AD
> - l'intervallo dei valori va col C-N (per il 2015) e O-Z per il 2016
> - alcune celle possono contenere anche valori negativi
> e così per varie righe

questa la formula da trascinare:
=MEDIA(INDIRETTO(INDIRIZZO(RIF.RIGA();2+CONTA.NUMERI(C2:Z2)-11)&":"&INDIRIZZO(RIF.RIGA();2+CONTA.NUMERI(C2:Z2))))
attenzione presuppone che le celle siano utilizzate a partire da colonna C e senza celle vuote (va bene come presupposto?)

> Potreste inoltre indicarmi un sito o un libro dove poter apprendere quelle formule che voi fantasticamente maneggiate?

A mio avviso il modo migliore per imparare e provare e riprovare: comunque guida in linea, forum [m.p.i.o.e. il + bello ;-)], qualche sito:
http://www.riolab.org/
https://sites.google.com/site/e90e50fx/
http://www.prodomosua.eu/ppage02.html
http://www.maurogsc.eu/
http://www.andreaperotti.ch/apps/wordpress/?s=excel
http://www.terzaghi.it/excel/index.htm
0 new messages