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

Somma condizionale con intervallo di date

6,925 views
Skip to first unread message

tommy

unread,
Oct 19, 2005, 11:40:47 AM10/19/05
to
Ciao a tutti, ho un foglio di lavoro così composto:

A B C
Data Importi Nomi
01/10/05 15.000 Luca
02/10/05 10.000 Paolo
03/10/05 5.000 Lisa
....

vorrei crearmi una formula che mi sommasse tutti i valori di B
associati a Luca nel periodo dal 01/10/05 al 31/10/05... ho provato
diverse soluzioni con SOMMA.SE, ma mi da sempre errore, qual'è la
sintassi giusta?
Ciao tommy

ivano

unread,
Oct 19, 2005, 12:54:42 PM10/19/05
to

"tommy" <toa...@libero.it> ha scritto nel messaggio
news:1129736447....@f14g2000cwb.googlegroups.com...
Ciao a tutti, ho un foglio di lavoro cosě composto:

A B C
Data Importi Nomi
01/10/05 15.000 Luca
02/10/05 10.000 Paolo
03/10/05 5.000 Lisa
....

vorrei crearmi una formula che mi sommasse tutti i valori di B
associati a Luca nel periodo dal 01/10/05 al 31/10/05... ho provato

diverse soluzioni con SOMMA.SE, ma mi da sempre errore, qual'č la
sintassi giusta?
Ciao tommy

Ciao,
=MATR.SOMMA.PRODOTTO(--(C2:C10="Luca");--(MESE(A2:A10)=10);B2:B10)
ivano


Roberto S

unread,
Oct 19, 2005, 1:59:34 PM10/19/05
to
> A B C
> Data Importi Nomi
> 01/10/05 15.000 Luca
> 02/10/05 10.000 Paolo
> 03/10/05 5.000 Lisa
..................................

> Ciao,
> =MATR.SOMMA.PRODOTTO(--(C2:C10="Luca");--(MESE(A2:A10)=10);B2:B10)
> ivano
>
>
Scusate l'intromissione, desidero chiedere: se la data fosse a cavallo di
due mesi? La mia domanda perché mi pare che né MATR.SOMMA.PRODOTTO nè una
matriciale accettino qualcosa del tipo
E(A1:A10>="15/09/05";A1:A10<="14/10/05") e neppure
(A1:A10>="15/09/05")*(A1:A10<="14/10/05"), che funziona solo, mi pare, se
trasformiamo la data in numero seriale:
=SOMMA((A1:A10>=38610)*(A1:A10<=38639)*(B1:B10)*(C1:C10="LUCA")), rendendo
però più laboriosa tutta l'operazione.
Ciao
Roberto


cucchiaino

unread,
Oct 19, 2005, 3:18:17 PM10/19/05
to
Roberto S:

> Scusate l'intromissione, desidero chiedere: se la data fosse a cavallo di
> due mesi? La mia domanda perché mi pare che né MATR.SOMMA.PRODOTTO nè una
> matriciale accettino qualcosa del tipo
> E(A1:A10>="15/09/05";A1:A10<="14/10/05") e neppure
> (A1:A10>="15/09/05")*(A1:A10<="14/10/05"), che funziona solo, mi pare, se
> trasformiamo la data in numero seriale:
> =SOMMA((A1:A10>=38610)*(A1:A10<=38639)*(B1:B10)*(C1:C10="LUCA")), rendendo
> però più laboriosa tutta l'operazione.

Ciao Roberto.

Se vuoi scrivere in formato testo puoi utilizzare la funzione:

=DATA.VALORE("4/1/2005")

e quindi

=E(A1:A10>=DATA.VALORE("15/09/05");A1:A10<=DATA.VALORE("14/10/05"))

()-- cucchiaino

Roberto S

unread,
Oct 19, 2005, 4:34:22 PM10/19/05
to

>
> Ciao Roberto.
>
> Se vuoi scrivere in formato testo puoi utilizzare la funzione:
>
> =DATA.VALORE("4/1/2005")
>
> e quindi
>
> =E(A1:A10>=DATA.VALORE("15/09/05");A1:A10<=DATA.VALORE("14/10/05"))
> ()-- cucchiaino

Grazie!
Roberto


Piero

unread,
Oct 20, 2005, 3:58:28 AM10/20/05
to
"tommy" <toa...@libero.it> ha scritto nel messaggio
news:1129736447....@f14g2000cwb.googlegroups.com...
Ciao a tutti, ho un foglio di lavoro cosě composto:

A B C
Data Importi Nomi
01/10/05 15.000 Luca
02/10/05 10.000 Paolo
03/10/05 5.000 Lisa
....

vorrei crearmi una formula che mi sommasse tutti i valori di B
associati a Luca nel periodo dal 01/10/05 al 31/10/05... ho provato

diverse soluzioni con SOMMA.SE, ma mi da sempre errore, qual'č la
sintassi giusta?

Ciao,
io uso una formula matriciale del tipo:
=SOMMA.SE((CONDIZ.1)*(CONDIZ.2)*..(CONDIZ. N);INTERVALLO DA SOMMARE))
da inserire con CTRL+MAIUSC+INVIO

Se tu metti in D1 la data di inizio e in D2 la data di fine che ti interessa
e D3 il nome che ti interessa trovare
diviene
=SOMMA(SE((D1<=A1:A100)*(A1:A100<=D2)*(C1:C100=D3);B1:B100))
da inserire con CTRL+MAIUSC+INVIO


Spero possa esserti utile.
--
Ciao
Piero

Leva LEDITADALNASO prima di mandarmi una e-mail


tommy

unread,
Oct 20, 2005, 5:18:13 AM10/20/05
to

Piero ha scritto:

> "tommy" <toa...@libero.it> ha scritto nel messaggio
> news:1129736447....@f14g2000cwb.googlegroups.com...

> Ciao a tutti, ho un foglio di lavoro così composto:


>
> A B C
> Data Importi Nomi
> 01/10/05 15.000 Luca
> 02/10/05 10.000 Paolo
> 03/10/05 5.000 Lisa
> ....
>
> vorrei crearmi una formula che mi sommasse tutti i valori di B
> associati a Luca nel periodo dal 01/10/05 al 31/10/05... ho provato

> diverse soluzioni con SOMMA.SE, ma mi da sempre errore, qual'è la


> sintassi giusta?
>
> Ciao,
> io uso una formula matriciale del tipo:
> =SOMMA.SE((CONDIZ.1)*(CONDIZ.2)*..(CONDIZ. N);INTERVALLO DA SOMMARE))
> da inserire con CTRL+MAIUSC+INVIO
>
> Se tu metti in D1 la data di inizio e in D2 la data di fine che ti interessa
> e D3 il nome che ti interessa trovare
> diviene
> =SOMMA(SE((D1<=A1:A100)*(A1:A100<=D2)*(C1:C100=D3);B1:B100))
> da inserire con CTRL+MAIUSC+INVIO
>
>
> Spero possa esserti utile.
> --
> Ciao
> Piero
>

Ciao ho provato ad inserire =SOMMA(SE((D1<=A1:A8)*(A1:A8
<=D2)*(C1:C8=D3);B1:B8)) con CTRL+MAIUSC+INVIO ma come risultato mi da
sempre zero come mai?

tommy

unread,
Oct 20, 2005, 5:20:00 AM10/20/05
to

Piero ha scritto:

> "tommy" <toa...@libero.it> ha scritto nel messaggio
> news:1129736447....@f14g2000cwb.googlegroups.com...

> Ciao a tutti, ho un foglio di lavoro così composto:


>
> A B C
> Data Importi Nomi
> 01/10/05 15.000 Luca
> 02/10/05 10.000 Paolo
> 03/10/05 5.000 Lisa
> ....
>
> vorrei crearmi una formula che mi sommasse tutti i valori di B
> associati a Luca nel periodo dal 01/10/05 al 31/10/05... ho provato

> diverse soluzioni con SOMMA.SE, ma mi da sempre errore, qual'è la


> sintassi giusta?
>
> Ciao,
> io uso una formula matriciale del tipo:
> =SOMMA.SE((CONDIZ.1)*(CONDIZ.2)*..(CONDIZ. N);INTERVALLO DA SOMMARE))
> da inserire con CTRL+MAIUSC+INVIO
>
> Se tu metti in D1 la data di inizio e in D2 la data di fine che ti interessa
> e D3 il nome che ti interessa trovare
> diviene
> =SOMMA(SE((D1<=A1:A100)*(A1:A100<=D2)*(C1:C100=D3);B1:B100))
> da inserire con CTRL+MAIUSC+INVIO
>
>
> Spero possa esserti utile.
> --
> Ciao
> Piero

Ciao ho provato ad inserire =SOMMA(SE((D1=A1:A8)*(A1:A8


<=D2)*(C1:C8=D3);B1:B8)) con CTRL+MAIUSC+INVIO

ma come risultato mi da sempre zero, come mai?

tommy

unread,
Oct 20, 2005, 5:28:02 AM10/20/05
to
Ciao ho provato ad inserire
=MATR.SOMMA.PRODOTTO((C1:C8="luca");(MESE(A1:A8)=10);B1:B8) ma mi da
come risultato 0, come mai?

Piero

unread,
Oct 20, 2005, 5:48:48 AM10/20/05
to
"tommy" <toa...@libero.it> ha scritto nel messaggio
news:1129800000.5...@g49g2000cwa.googlegroups.com...

Piero ha scritto:

> "tommy" <toa...@libero.it> ha scritto nel messaggio
> news:1129736447....@f14g2000cwb.googlegroups.com...

> Ciao a tutti, ho un foglio di lavoro cosě composto:


>
> A B C
> Data Importi Nomi
> 01/10/05 15.000 Luca
> 02/10/05 10.000 Paolo
> 03/10/05 5.000 Lisa
> ....
>
> vorrei crearmi una formula che mi sommasse tutti i valori di B
> associati a Luca nel periodo dal 01/10/05 al 31/10/05... ho provato

> diverse soluzioni con SOMMA.SE, ma mi da sempre errore, qual'č la


> sintassi giusta?
>
> Ciao,
> io uso una formula matriciale del tipo:
> =SOMMA.SE((CONDIZ.1)*(CONDIZ.2)*..(CONDIZ. N);INTERVALLO DA SOMMARE))
> da inserire con CTRL+MAIUSC+INVIO
>
> Se tu metti in D1 la data di inizio e in D2 la data di fine che ti
> interessa
> e D3 il nome che ti interessa trovare
> diviene
> =SOMMA(SE((D1<=A1:A100)*(A1:A100<=D2)*(C1:C100=D3);B1:B100))
> da inserire con CTRL+MAIUSC+INVIO
>
>
> Spero possa esserti utile.

Ciao ho provato ad inserire =SOMMA(SE((D1=A1:A8)*(A1:A8
<=D2)*(C1:C8=D3);B1:B8)) con CTRL+MAIUSC+INVIO
ma come risultato mi da sempre zero, come mai?

Perchč hai dimenticato un segno "<" tra D1 e =.

Una volta premuto la combinazione, ti appaiono le parentesi graffe agli
estremi dalla formula?

In alternativa copia e incolla quella scritta da me:


=SOMMA(SE((D1<=A1:A100)*(A1:A100<=D2)*(C1:C100=D3);B1:B100))

se poi la confermi con CTRL+MAIUSC+INVIO
va di sicuro.

tommy

unread,
Oct 20, 2005, 6:09:36 AM10/20/05
to
si adesso funziona, ti chiedo un'altra cosa ma se al posto di inserire
i riferimenti alle celle D1,D2,D3 voglio inserire direttamente le date
ed il nominativo, la formula non funziona più, è naturale o c'è
qualcosa da inserire a livello di sintassi?
Ciao tommy

ivano

unread,
Oct 20, 2005, 6:39:12 AM10/20/05
to

"tommy" <toa...@libero.it> ha scritto nel messaggio
news:1129800482....@g44g2000cwa.googlegroups.com...

> Ciao ho provato ad inserire
> =MATR.SOMMA.PRODOTTO((C1:C8="luca");(MESE(A1:A8)=10);B1:B8) ma mi da
> come risultato 0, come mai?
>

forse perchè hai omesso di mettere quei due "trattini" tanto piccini ma
tanto importanti:
=MATR.SOMMA.PRODOTTO(--(C1:C8="luca");--(MESE(A1:A8)=10);B1:B8)

e se in riga 1 hai le intestazioni di colonna tale formula ti darà errore
quindi meglio:
=MATR.SOMMA.PRODOTTO(--(C2:C8="luca");--(MESE(A2:A8)=10);B2:B8)

oppure
=MATR.SOMMA.PRODOTTO(--(C2:C10="Paolo");--(A2:A10>VALORE("1/10/2005"));--(A2:A10<=VALORE("31/10/2005"));B2:B10)

ivano


tommy

unread,
Oct 20, 2005, 7:01:26 AM10/20/05
to
grazie ora funziona, avevi ragione / "trattini" tanto piccini erano
veramente
tanto importanti.
Ciao Tommy

Roberto S

unread,
Oct 20, 2005, 9:13:54 AM10/20/05
to

Ciao Tommy, per questo quesito puoi guardare il post di ieri di Cucchiaino
in questo stesso thread...
Roberto


tommy

unread,
Oct 20, 2005, 10:51:14 AM10/20/05
to
Ok grazie, ho provato e funziona
Ciao Tommy

roberto....@gmail.com

unread,
Apr 8, 2015, 4:04:20 AM4/8/15
to
Buongiorno a tutti,
ho bisogno di fare un controllo tra due date di riferimento.

Utilizzo due files, uno mensile con l'elenco di dati con vari campi (tra cui data, formattato in gg/mm/aaaa, e codice, che è un campo testuale), mentre l'altro va a fare un'analisi dei valori settimanalmente.

Mi occorre una formula che cerchi un determinato codice (specificato in richiesta) e al contempo tutte le occorrenze dell'altro file per ogni settimana.

Ho impostato la seguente formula in D2 (ma il controllo sulle date salta, riportando sempre zero):


=SOMMA.PIÙ.SE('[MARZO 2015 (Salvato automaticamente).xls]GENNAIO 2015'!$AA$1:$AA$65536;'[MARZO 2015 (Salvato automaticamente).xls]GENNAIO 2015'!$B$1:$B$65536;"<"&TESTO($B$20;"gg/mm/aaaa");'[MARZO 2015 (Salvato automaticamente).xls]GENNAIO 2015'!$L$1:$L$65536;D$1)-SOMMA.PIÙ.SE('[MARZO 2015 (Salvato automaticamente).xls]GENNAIO 2015'!$AA$1:$AA$65536;'[MARZO 2015 (Salvato automaticamente).xls]GENNAIO 2015'!$B$1:$B$65536;"<"&TESTO($A$20;"gg/mm/aaaa");'[MARZO 2015 (Salvato automaticamente).xls]GENNAIO 2015'!$L$1:$L$65536;D$1)


I file di esempio sono del tipo riportato sotto:

FILE1: MARZO2015

B L AA AB AC
1 DATA CODICE #prodotto1 #prodotto2 #prodotto3

2 06/03/2015 AR001 2 1 4
3 11/03/2015 AR001 1 0 2
4 12/03/2015 AR001 4 3 1


FILE2: REPORT

A D E F
1 PRODOTTO AR001 AR002 AR003

2 prodotto1
3 prodotto2
4 prodotto3


Help me!!! Grazie.

roberto....@gmail.com

unread,
Apr 8, 2015, 4:07:04 AM4/8/15
to
Dimenticavo:

in A20 e B20 sono riportate rispettivamente le date di inizio e fine periodo:

a20: 08/03/2015
b20: 14/03/2015

Attendo info, grazie mille! :)

paoloard

unread,
Apr 8, 2015, 9:02:26 AM4/8/15
to


ha scritto nel messaggio
news:7f951a62-20e1-4de0...@googlegroups.com...

....> Ho impostato la seguente formula in D2 (ma il controllo sulle date
salta, riportando sempre zero):
>
>
> =SOMMA.PIÙ.SE('[MARZO 2015 (Salvato automaticamente).xls]GENNAIO
> 2015'!$AA$1:$AA$65536;'[MARZO 2015 (Salvato automaticamente).xls]GENNAIO
> 2015'!$B$1:$B$65536;"<"&TESTO($B$20;"gg/mm/aaaa");'[MARZO 2015 (Salvato
> automaticamente).xls]GENNAIO 2015'!$L$1:$L$65536;D$1)-SOMMA.PIÙ.SE('[MARZO
> 2015 (Salvato automaticamente).xls]GENNAIO 2015'!$AA$1:$AA$65536;'[MARZO
> 2015 (Salvato automaticamente).xls]GENNAIO
> 2015'!$B$1:$B$65536;"<"&TESTO($A$20;"gg/mm/aaaa");'[MARZO 2015 (Salvato
> automaticamente).xls]GENNAIO 2015'!$L$1:$L$65536;D$1)
>
...


Senza vedere i due file capisco poco, però una cosa posso affermare circa la
formula utilizzata. Cioé, se le date sono espresse in formato data allora il
criterio di confronto delle date deve essere più propriamente espresso
anziché così:
;"<"&TESTO($B$20;"gg/mm/aaaa");
piuttosto così:
;"<"$B$20;

--
Ciao
paoloard
http://www.riolab.org/

augusto...@gmail.com

unread,
Nov 17, 2015, 8:06:30 PM11/17/15
to
Ciao ragazzi io ho un problema simile,

Colonna A colonna B
01/01/1990 500000
05/02/1990 600000
09/03/1990 350000
12/05/1990 420000

vorrei sommare solo i dati della colonna b che si trovato tra l'intervallo tra due date 01/01/1990 e 31/03/1990

ho fatto qualcosa con questa funzione , ma somma anche il valore di B anche se la data non rientra nell'intervallo

=SOMMA.PIÙ.SE(Foglio1!$B2:$B1000;Foglio1!$A2:$A1000;">=01/01/1990";Foglio1!$A2:$A1000;"<=31/03/1990")

Grazie per il tempo che mi avete dedicato

casanmaner

unread,
Nov 18, 2015, 6:32:14 AM11/18/15
to
Prova questa formula:
=MATR.SOMMA.PRODOTTO((A2:A1000>=G1)*(A2:A1000<=G2)*(B2:B1000))

casanmaner

unread,
Nov 18, 2015, 11:30:19 AM11/18/15
to
Scusa mi rendo conto solo ora di una cosa.
Nelle celle G1 e G2 avevo inserito i valori delle date limite.
Se vuoi far riferimento alla data all'interno delle formula indicandola come "testo" dovresti modificare così se, come immagino, le date nella colonna A sono inserite come numero (anche se visualizzate in formato data):
=MATR.SOMMA.PRODOTTO((A2:A1000>=DATA.VALORE("01/01/1990"))*(A2:A1000<=DATA.VALORE("31/03/1990"))*(B2:B1000))

Vittorio

unread,
Nov 18, 2015, 6:20:55 PM11/18/15
to


<ha scritto nel messaggio
news:25c8d217-5f6e-487e...@googlegroups.com...
<ho fatto qualcosa con questa funzione , ma somma anche il valore di B anche
se la data non rientra nell'intervallo

<=SOMMA.PIŮ.SE(Foglio1!$B2:$B1000;Foglio1!$A2:$A1000;">=01/01/1990";Foglio1!$A2:$A1000;"<=31/03/1990")


tale formula a me funziona benissimo,anche con i dati della tua colonna A

casanmaner

unread,
Nov 19, 2015, 2:00:04 AM11/19/15
to
In effetti provandola, cosa che in verità non avevo fatto dando per buono quanto detto da augusto, somma solo gli importi per le date comprese nell'intervallo indicato.
0 new messages