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

media mobile in funzione della data odierna

35 views
Skip to first unread message

matyas77

unread,
Mar 2, 2010, 4:11:02 AM3/2/10
to
Ho i seguenti dati, una sorta di piano di ammortamento:

data rata
30/11/2009 11,2009 112,33
31/12/2009 12,2009 135,65
31/01/2010 1,2010 276,98
28/02/2010 2,2010 187,56
31/03/2010 3,2010 201,45

Vorrei fare in modo che accedendo al foglio excel, ad es. in data
02/03/2010, mi restituisca in una determinata cella la media delle
ultime 3 rate (gennaio, febbraio, marzo). In modo analogo, secondo la
logica della media mobile, accedendo in data 15/04/2010, la stessa
cella dovrebbe restituire la media delle 3 rate (febbraio, marzo,
aprile).

Mi piacerebbe trovare una soluzione che non preveda l' "accrocchio" di
creare un'ulteriore colonna con la media mobile a 3 mesi ed il
successivo VLOOKUP.

Ho tentato con la seguente formula:
=AVERAGE(OFFSET(c6;0;0;-3))
ma presenta il limite che il reference dell'OFFSET non è fisso, ma
cambia in funzione della data attuale.

paoloard

unread,
Mar 2, 2010, 5:01:59 AM3/2/10
to

"matyas77" <matteo_n...@hotmail.com> ha scritto nel messaggio
news:242b9734-87a6-4a68...@x22g2000yqx.googlegroups.com...

ma presenta il limite che il reference dell'OFFSET non � fisso, ma


cambia in funzione della data attuale.

**************************************************

Ciao matyas,
prova cos�:
=MEDIA(INDIRETTO("C"&CONFRONTA(ANNO(OGGI())&MESE(OGGI());ANNO($A$2:$A$100)&MESE($A$2:$A$100);0)+1):INDIRETTO("C"&CONFRONTA(ANNO(OGGI())&MESE(OGGI());ANNO($A$2:$A$100)&MESE($A$2:$A$100);0)-1))
da inserire come matriciale con CTRL+Maiusc+Invio.

in inglese:
=AVERAGE(INDIRECT("C"&MATCH(YEAR(TODAY())&MONTH(TODAY()),YEAR($A$2:$A$100)&MONTH($A$2:$A$100),0)+1):INDIRECT("C"&MATCH(YEAR(TODAY())&MONTH(TODAY()),YEAR($A$2:$A$100)&MONTH($A$2:$A$100),0)-1))

--
Fai sapere se e come hai risolto grazie.
ciao paoloard
http://riolab.org

matyas77

unread,
Mar 2, 2010, 6:45:17 AM3/2/10
to
On 2 Mar, 11:01, "paoloard" <xxp...@alice.it> wrote:
> "matyas77" <matteo_novell...@hotmail.com> ha scritto nel messaggionews:242b9734-87a6-4a68...@x22g2000yqx.googlegroups.com...

> Ho i seguenti dati, una sorta di piano di ammortamento:
>
>                data                     rata
> 30/11/2009   11,2009         112,33
> 31/12/2009   12,2009         135,65
> 31/01/2010     1,2010         276,98
> 28/02/2010     2,2010         187,56
> 31/03/2010     3,2010         201,45
>
> Vorrei fare in modo che accedendo al foglio excel, ad es. in data
> 02/03/2010, mi restituisca in una determinata cella la media delle
> ultime 3 rate (gennaio, febbraio, marzo). In modo analogo, secondo la
> logica della media mobile, accedendo in data 15/04/2010, la stessa
> cella dovrebbe restituire la media delle 3 rate (febbraio, marzo,
> aprile).
>
> Mi piacerebbe trovare una soluzione che non preveda l' "accrocchio" di
> creare un'ulteriore colonna con la media mobile a 3 mesi ed il
> successivo VLOOKUP.
>
> Ho tentato con la seguente formula:
> =AVERAGE(OFFSET(c6;0;0;-3))
> ma presenta il limite che il reference dell'OFFSET non fisso, ma
> cambia in funzione della data attuale.
> **************************************************
>
> Ciao matyas,
> prova cos :
> =MEDIA(INDIRETTO("C"&CONFRONTA(ANNO(OGGI())&MESE(OGGI());ANNO($A$2:$A$100)&­MESE($A$2:$A$100);0)+1):INDIRETTO("C"&CONFRONTA(ANNO(OGGI())&MESE(OGGI());A­NNO($A$2:$A$100)&MESE($A$2:$A$100);0)-1))

> da inserire come matriciale con CTRL+Maiusc+Invio.
>
> in inglese:
> =AVERAGE(INDIRECT("C"&MATCH(YEAR(TODAY())&MONTH(TODAY()),YEAR($A$2:$A$100)&­MONTH($A$2:$A$100),0)+1):INDIRECT("C"&MATCH(YEAR(TODAY())&MONTH(TODAY()),YE­AR($A$2:$A$100)&MONTH($A$2:$A$100),0)-1))

>
> --
> Fai sapere se e come hai risolto grazie.
> ciao paoloardhttp://riolab.org

Grazie Paoloard,
ho apportato solo qualche leggera modifica alla formula, ma sei stato
utilissimo.
Solo un piccolo problema:
se il calcolo della media avviene nello stesso sheet in cui sono
raccolti i dati, tutto funziona correttamente;
se, invece, avviene su uno sheet differente, il riferimento della
formula INDIRECT ("C"&....) crea problemi. Ho provato a sostituirlo
con INDIRECT (NameSheet!"C"&... , o inserendo una parentesi dopo il
punto esclamativo ma niente da fare. Probabile che la soluzione sia
banale, ma non riesco a trovarla.

paoloard

unread,
Mar 2, 2010, 7:11:32 AM3/2/10
to

"matyas77" <matteo_n...@hotmail.com> ha scritto nel messaggio
news:e8fd5ea5-d512-4cd8...@e23g2000yqd.googlegroups.com...
cut

Grazie Paoloard,
ho apportato solo qualche leggera modifica alla formula, ma sei stato
utilissimo.
Solo un piccolo problema:
se il calcolo della media avviene nello stesso sheet in cui sono
raccolti i dati, tutto funziona correttamente;
se, invece, avviene su uno sheet differente, il riferimento della
formula INDIRECT ("C"&....) crea problemi. Ho provato a sostituirlo
con INDIRECT (NameSheet!"C"&... , o inserendo una parentesi dopo il
punto esclamativo ma niente da fare. Probabile che la soluzione sia
banale, ma non riesco a trovarla.
*************************************************

prova con INDIRECT ("NameSheet!C"&...

matyas77

unread,
Mar 2, 2010, 7:54:11 AM3/2/10
to
On 2 Mar, 13:11, "paoloard" <xxp...@alice.it> wrote:
> "matyas77" <matteo_novell...@hotmail.com> ha scritto nel messaggionews:e8fd5ea5-d512-4cd8...@e23g2000yqd.googlegroups.com...

Alla fine, virgolette, apici,... e soluzione trovata!

INDIRECT(" 'NameSheet' !C" &...

Grazie 1000

Nur

unread,
Mar 2, 2010, 8:31:53 AM3/2/10
to
> > =AVERAGE(INDIRECT("C"&MATCH(YEAR(TODAY())&MONTH(TODAY()),YEAR($A$2:$A$100)&­­MONTH($A$2:$A$100),0)+1):INDIRECT("C"&MATCH(YEAR(TODAY())&MONTH(TODAY()),Y­E­AR($A$2:$A$100)&MONTH($A$2:$A$100),0)-1))
>

Ciao maytas, ciao Paolo,
solo un paio di alternative.

dati in A1:A10 con in riga 1 le intestazioni:

=AVERAGE(OFFSET(Foglio2!$C$1,MATCH(TEXT(TODAY(),"aaaam"),TEXT(Foglio2!
$A$1:$A$10,"aaaam"),)-3,,3))
matriciale

oppure non matriciale:
=AVERAGE(OFFSET(Foglio2!$C$1,MATCH(TODAY()-1,Foglio2!$A$1:$A
$10)-2,,3))
*valida se le date in A sono fine mese e ordinate*

In entrambe Foglio2! va sostituito con il nome corretto del foglio.

Ciao, Nur

paoloard

unread,
Mar 2, 2010, 11:00:01 AM3/2/10
to

"Nur" <news...@gmail.com> ha scritto nel messaggio
news:d06ea543-aeb9-4afe-b39e-cut> > prova cos :
cut>

> > in inglese:
> > =AVERAGE(INDIRECT("C"&MATCH(YEAR(TODAY())&MONTH(TODAY()),YEAR($A$2:$A$100)&��MONTH($A$2:$A$100),0)+1):INDIRECT("C"&MATCH(YEAR(TODAY())&MONTH(TODAY()),Y�E�AR($A$2:$A$100)&MONTH($A$2:$A$100),0)-1))
>

Ciao maytas, ciao Paolo,
solo un paio di alternative.

dati in A1:A10 con in riga 1 le intestazioni:

=AVERAGE(OFFSET(Foglio2!$C$1,MATCH(TEXT(TODAY(),"aaaam"),TEXT(Foglio2!
$A$1:$A$10,"aaaam"),)-3,,3))
matriciale

oppure non matriciale:
=AVERAGE(OFFSET(Foglio2!$C$1,MATCH(TODAY()-1,Foglio2!$A$1:$A
$10)-2,,3))
*valida se le date in A sono fine mese e ordinate*

In entrambe Foglio2! va sostituito con il nome corretto del foglio.

Ciao, Nur
*************************************************

Diavolo di Nur!
Quattro istruzioni in croce contro enne kilometriche :-(
come "buscar el levante por el poniente".
Usi lo SCARTO come Tex le sue colt ;-)
sempre grato per le tue brillanti soluzioni.
--
ciao paoloard
http://riolab.org

Nur

unread,
Mar 2, 2010, 1:05:47 PM3/2/10
to
On 2 Mar, 17:00, "paoloard" <xxp...@alice.it> wrote:

>
> Diavolo di Nur!

Diavolo, io??? ma se sono un angelo :-)

> Quattro istruzioni in croce contro enne kilometriche :-(
> come "buscar el levante por el poniente".
> Usi lo SCARTO come Tex le sue colt ;-)
> sempre grato per le tue brillanti soluzioni.

Grazie a te!
Ciao, Nur

0 new messages