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

Somma se , tabella pivot, per totali mensili

70 views
Skip to first unread message

Barbiturico

unread,
Mar 27, 2005, 9:53:01 AM3/27/05
to
Leggo con ammirazione le soluzioni che vengono proposte dai partecipanti a
questo gruppo.
Per questo cerco dagli accademici, una formula risolutrice migliore di
quelle infantili che io uso in due casi.
Ho un conto corrente bancario con nella prima colonna (A) le date e nella
seconda (B) i movimenti espressi in euro. Desidero avere il totale dei
movimenti per mese.
Faccio in questo modo
creo la colonna (C) e la riempio con le formule =mese(A:A); creo la colonna
(D) ed inserisco dodici formule = somma.se(C:C;1;B:B) con il secondo
argomento che varia da 1 a 12

oppure creo una tabella pivot basata sulla colonna C con dati presi dalla
colonna B

Le domande che Vi sottopongo sono:
1)si può scrivere una formula( matriciale?), che,evitando la creazione della
colonna C, inserita in un punto del foglio crea una sottostante matrice di
due colonne per dodici righe con i totali richiesti?
2)Nella tabella pivot esiste un modo per raggruppare per mesi senza
aggiungere la colonna di appoggio? ( ho provato a cambiare la formattazione
delle date ma vengono interpretate come diverse una dall’altra anche se
rappresentate dal solo mese)

Un preventivo cardiaco e sentito Grazie e tantissimi complimenti

--
Sergio da Brescia

ivano

unread,
Mar 27, 2005, 12:59:24 PM3/27/05
to

"Barbiturico" <Barbi...@discussions.microsoft.com> ha scritto nel
messaggio news:45CC8A45-F129-4772...@microsoft.com...


Ciao Sergio, bresà...

ipotizzando una struttura del tipo sotto indicata,
una soluzione:
| A | B |C | D | E | F |
--+-------+----------+--+--------+---------+------+
1|data |movimento | |gennaio |febbraio |marzo |
2| 05-gen| -30| | 15| 145| -30|
3| 07-gen| 45| | | | |
4| 08-feb| 25| | | | |
5| 15-feb| 120| | | | |
6| 03-mar| 15| | | | |
7| 05-mar| -45| | | | |

In D2 la formula:
=MATR.SOMMA.PRODOTTO(--(MESE($A$2:$A$7)=RIF.COLONNA(A1));$B$2:$B$7)
da ricopiare a destra.


ivano


Giovanna

unread,
Mar 28, 2005, 7:00:29 AM3/28/05
to

"Barbiturico" <Barbi...@discussions.microsoft.com> ha scritto nel
messaggio news:45CC8A45-F129-4772...@microsoft.com...
> Ho un conto corrente bancario con nella prima colonna (A) le date e nella
> seconda (B) i movimenti espressi in euro. Desidero avere il totale dei
> movimenti per mese.
> 1)si può scrivere una formula( matriciale?), che,evitando la creazione
> della
> colonna C, inserita in un punto del foglio crea una sottostante matrice di
> due colonne per dodici righe con i totali richiesti?

ciao Sergio
..se preferisci avere il tot dei movimenti per mese in colonna anzichè in
riga [questa un'alternativa alla soluzione di Ivano], inserisci in cella D2
la formula:
=SOMMA((MESE($A$2:$A$30)=RIF.RIGA(A1))*($B$2:$B$30)) [Ctrl+Maiusc+invio],
che copierai lungo la colonna fino a D13. Nel mio esempio valori fino ad
A30, tu adeguerai....
Per quanto concerne la colonna dei mesi che supponiamo da C2 in poi, oltre a
poter creare facilmente l'elenco mesi digitando in C2: gennaio e trascinando
poi lungo la colonna,
con l'aiuto di saoche, che ringrazio, mi sono divertita a creare l'elenco
mesi, dalle date in colonna A.
Questa formula pare funzionare [sicuramente si può far di meglio....]:
=PICCOLO(SE(((FREQUENZA(MESE($A$2:$A$30);MESE($A$2:$A$30))>0)*MESE($A$2:$A$31))>0;((FREQUENZA(MESE($A$2:$A$30);MESE($A$2:$A$30))>0)*MESE($A$2:$A$31));"");RIF.RIGA()-1)
sempre matriciale, da inserire in C2 e trascinare fino a C13.
Prova se hai voglia....
ciao
giovanna

ivano

unread,
Mar 28, 2005, 7:54:21 AM3/28/05
to

> Per quanto concerne la colonna dei mesi che supponiamo da C2 in poi, oltre
a
> poter creare facilmente l'elenco mesi digitando in C2: gennaio e
trascinando
> poi lungo la colonna,
> con l'aiuto di saoche, che ringrazio, mi sono divertita a creare l'elenco
> mesi, dalle date in colonna A.
> Questa formula pare funzionare [sicuramente si può far di meglio....]:
>
=PICCOLO(SE(((FREQUENZA(MESE($A$2:$A$30);MESE($A$2:$A$30))>0)*MESE($A$2:$A$3
1))>0;((FREQUENZA(MESE($A$2:$A$30);MESE($A$2:$A$30))>0)*MESE($A$2:$A$31));""
);RIF.RIGA()-1)
> sempre matriciale, da inserire in C2 e trascinare fino a C13.
> Prova se hai voglia....
> ciao


Ciao saoche, ciao Giovanna,
è una buona idea l'utilizzo di FREQUENZA...

Ne propongo una pure io...migliorabile pure questa:
=PICCOLO(SE(VAL.ERRORE(CONFRONTA(RIF.RIGA(1:12);MESE($A$1:$A$7);0));"";RIF.R
IGA(1:12));RIF.COLONNA(A1))
ivano


Barbiturico

unread,
Mar 28, 2005, 11:35:03 AM3/28/05
to

"Giovanna" wrote:

>
> =SOMMA((MESE($A$2:$A$30)=RIF.RIGA(A1))*($B$2:$B$30)) [Ctrl+Maiusc+invio],

> Questa formula pare funzionare [sicuramente si può far di meglio....]:


> =PICCOLO(SE(((FREQUENZA(MESE($A$2:$A$30);MESE($A$2:$A$30))>0)*MESE($A$2:$A$31))>0;((FREQUENZA(MESE($A$2:$A$30);MESE($A$2:$A$30))>0)*MESE($A$2:$A$31));"");RIF.RIGA()-1)
> sempre matriciale, da inserire in C2 e trascinare fino a C13.

> giovanna

Colgo l’occasione per ringraziarvi per gli auguri che ci avete inviato (mi
son preso anche il bell’ovetto di Mauro).
Queste che mi avete suggerito vanno bene; quelle a livello universitario me
le devo studiare pezzo per pezzo per tutto il mese, se voglio capirci e per
imparare qualcosa; ma era proprio quel che mi aspettavo da Voi. Questo è
materiale che( prendo a prestito la terminologia dei film a luci rosse) mi ha
fatto godere.
Grazie

Ho imparato che la formula di Ivano può essere immessa come normale ma cosa
significano quei due trattini che vedo spesso messi dopo la prima parentesi?

Ivano se sei mio compaesano ti pregherei per Ferragosto o Natale di
portarmi una raccolta delle tue funzioni. Quelle di Giovanna non posso
averle perché abita troppo lontano da me.

A tal proposito puoi impostare una matrice così composta nelle celle
AA1 “alcune funzioni postate”,
AA2 “quelle più fantasiose”
AA3 “il diritto in esclusiva a commercializzare quelle future”,
Nelle celle
AB1 “un buono consumazione al bar”
AB2 “un buono pizza”,
AB3 due buoni pranzo al ristorante per il destinatario e la sua fidanzata o
fidanzato”.
Da inserire con maiuscolo + ctrl per tutti gli esperti che ci assistono con
tanta competenza ed amore.
Fammi sapere se funziona.
Sergio da Brescia

Giovanna

unread,
Mar 28, 2005, 1:14:00 PM3/28/05
to

"Barbiturico" <Barbi...@discussions.microsoft.com> ha scritto nel
messaggio news:3F884367-9EEA-4908...@microsoft.com...

>
>
> Ho imparato che la formula di Ivano può essere immessa come normale ma
> cosa
> significano quei due trattini che vedo spesso messi dopo la prima
> parentesi?
>

Ivano non vuol più rispondere a questa domanda! [scherzooo! :-):-)]
rispondo al suo posto... lo "copio-incollo"!

> Una curiosità: cosa significa/rappresenta il doppio meno "--" all'interno
> della matrice?

-VERO=-1
--VERO=1
1*VERO=1
-FALSO=0
--FALSO=0
1*FALSO=0

converte il valore booleano in numerico.
ivano

e anche:
> domandina perchè -- nella funzione Somma ?

Per convertire i valori booleani in valori espressi in 1 o 0
VERO = 1
FALSO = 0

=SOMMA(--(CODICE(A1:A5)>=97))

uguale a:

=SOMMA(1*(CODICE(A1:A5)>=97))
ivano

ciaoo
giovanna

Barbiturico

unread,
Mar 30, 2005, 2:55:03 AM3/30/05
to
A prima superficiale vista sembra serva solo per risparmiare nella
digitazione, ma poi provando si vede che il trucco serve per avere risultati
che altrimenti non si avrebbero.
Grazie per la tua cortesia
Sergio da Brescia

> > Una curiosità: cosa significa/rappresenta il doppio meno "--" all'interno
> > della matrice?
>
> -VERO=-1
> --VERO=1
> 1*VERO=1
> -FALSO=0
> --FALSO=0
> 1*FALSO=0

e in


> =SOMMA(--(CODICE(A1:A5)>=97))
> uguale a:
> =SOMMA(1*(CODICE(A1:A5)>=97))
> VERO = 1
> FALSO = 0

> ivano
> ciaoo
> giovanna

0 new messages