Valutazione 4.87/ 5 (100.00%) 5838 voti

Condividi:        

MATRICE.SOMMA.PRODOTTO

Vuoi potenziare i tuoi documenti Word? Non sai come si fa una macro in Excel? Devi creare una presentazione in PowerPoint?
Oppure sei passato a OpenOffice e non sei sicuro di come lavorare al meglio?

Moderatori: Anthony47, Flash30005

MATRICE.SOMMA.PRODOTTO

Postdi dipic » 18/01/10 17:05

Salve a tutti.
Ho una funzione simile all'esempio che riporto (la accorcio perchè le condizioni sono molte di più):
=MATR.SOMMA.PRODOTTO(--($A$2:$A$28="A");--($B$2:$B$28="B");--($D$2:$D$28="D");($J$2:$J$28))
Che funziona perfettamente mi somma i dati in J quando TUTTE le condizioni si avverano.

Se non sono presenti tutte le condizioni, ovviamente la formula non funziona ... a me servirebbe che se una o più condizioni vengono volutamente "omesse", la formula prenda in considerazione tutti i dati della condizione stessa, come se non avessi inserito quella ricerca (spero di essere stato chiaro).

Se inserisco un SE, durante la costruzione della formula, mi visualizza i dati, ma quando confermo la formula mi dà come errore "#VALORE"
=MATR.SOMMA.PRODOTTO(SE(A33<>"";--($A$2:$A$28="A");--($A$2:$A$28<>""));--($B$2:$B$28="B");--($D$2:$D$28="D");($J$2:$J$28))
E' fattibile in questo modo oppure no? Se no, qualsiasi suggerimento vorrete darmi per risolvere il problema, sarà ben accetto.
Grazie
Avatar utente
dipic
Utente Junior
 
Post: 95
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Sponsor
 

Re: MATRICE.SOMMA.PRODOTTO

Postdi Anthony47 » 18/01/10 21:34

Su ogni matrice inserirai un doppio check: uguale al valore impostato, uguale a vuoto; come nell' esempio che segue, dove ho modificato la terza matrice:
Codice: Seleziona tutto
=MATR.SOMMA.PRODOTTO(--($A$2:$A$28="A");--($B$2:$B$28="B");--($D$2:$D$28="D")--($D$2:$D$28="");($J$2:$J$28))

Ciao
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MATRICE.SOMMA.PRODOTTO

Postdi dipic » 18/01/10 22:50

Come sempre grazie per la cortese e celere soluzione ...

il problema è che la seconda condizione non è ="" ma <>"".
Ho provato ad inserirla come mi serve, ma vedo che la somma non viene corretta, praticamente raddoppia la somma (corretta) per ogni condizione e le somma tutte assieme, riportando dei numeri improponibli.
O meglio, esce la somma corretta solo quando ho tutte le "condizioni -1" inserite ....
O forse stò sbagliando io qualcosa ....
Avatar utente
dipic
Utente Junior
 
Post: 95
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Re: MATRICE.SOMMA.PRODOTTO

Postdi Anthony47 » 19/01/10 01:20

??
Se la condizione e' <>"" significa che la cella e' compilata e allora dovrebbe prevalere la clausola che verifica il valore della cella; quale senso ha allora inserire un doppio controllo?

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MATRICE.SOMMA.PRODOTTO

Postdi dipic » 19/01/10 05:14

Ciao Anthony e come sempre grazie (... 19/01/10 02:20 ... ma tu non dormi mai? )

Il senso è il seguente:
vorrei che se la o le condizioni non sono inserite (cioè =""), vengano presi tutti i dati che soddisfano le altre condizioni; ad esempio:
TIPO OPERAZ....CLIENTE
acq................A
vend..............B
acq................A
acq................C
rimb..............A

Posso effettuare la selezione per TIPO OPERAZ. e/o CLIENTE;
scelgo "acq." (colonna scelta 2 = "" ) = 3 righe, la 1/3/5
scelgo "A" (colonna scelta 1 = "" ) = 3 righe, la 1/3/4
scelgo "" (colonna scelta 1 e 2 = "" ) = 5 righe, la 1/2/3/4/5

Se questo secondo te non è il modo migliore di effettuare questo tipo di ricerca, suggeriscimi pure qual'è il metodo migliore secondo te.
Grazie
Avatar utente
dipic
Utente Junior
 
Post: 95
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Re: MATRICE.SOMMA.PRODOTTO

Postdi dipic » 19/01/10 11:12

Leggendo qua e là ho trovato che il segno (+) se il range è lo stesso, funziona da OR
Ho provato solo sulla prima condizione
=MATR.SOMMA.PRODOTTO(--($A$2:$A$28="A") + --($A$2:$A$28<>"");--($B$2:$B$28="B");--($D$2:$D$28="D");($J$2:$J$28))
Ma così mi somma tutto + le righe ove trova "A".

Se io creo la funzione con il wizard (tasto Fx) ed inserisco il test
=MATR.SOMMA.PRODOTTO(SE(A50<>"";--($A$2:$A$28="A");--($A$2:$A$28<>""));--($B$2:$B$28="B");--($D$2:$D$28="D");($J$2:$J$28))
Il wizard mi fà vedere a video il risultato, ma quando confermo mi dà "#VALORE"

Se scrivo la stessa stringa e confermo con CTRL+MAIUSCOLO+INVIO, funziona ....

... se dovesse servire
Avatar utente
dipic
Utente Junior
 
Post: 95
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Re: MATRICE.SOMMA.PRODOTTO

Postdi Anthony47 » 19/01/10 15:51

Avendo messo tu i valori di filtro all' interno di una formula mi ero fatto l' idea che volessi lasciare vuote alcune celle dei range A2:A28, B2:B28, D2:D28, intendendo "vuoto=qualsiasi valore".
Con le spiegazioni successive mi pare invece che tu voglia talvolta lasciare vuota qualche cella che usi per inserire il valore di filtro, intendendo "quella cella vuota"=qualsiasi valore. Ma non ne sono convinto, perche' allora useresti la stessa cella anche nella formula [quindi non SE(A50<>"";--($A$2:$A$28="A");--($A$2:$A$28<>"")) ma SE(A50<>"";--($A$2:$A$28=A50);--($A$2:$A$28<>""))]
Comunque se hai trovato una quadra e' ok cosi'.
La funzione SE non e' intrinsecamente a matrice (al contrario di Matr.Somma.Prodotto), ecco perche' devi usare Contr-Maiusc-Enter.

Ciao, alla prossima.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MATRICE.SOMMA.PRODOTTO

Postdi dipic » 19/01/10 17:04

Hai ragione tu Anthony, avevo sbagliato di riportare l'esempio ... alle volte alcuni campi dei range possono essere = a "".
... purtroppo ho cantato vittoria troppo presto. L'esempio riportato funziona solo se usato su una delle condizioni e le altre sono "fisse", altrimenti mi somma più volte gli stessi dati, ripetendoli per ogni selezione ...
penso che la strada sia + o - quella giusta, ma non riesco a trovare la quadra.
Hai qualche idea in proposito, forse non è la soluzione migliore .... in alternativa mi butto su una macro ...
Grazie per la tua disponibilità
Avatar utente
dipic
Utente Junior
 
Post: 95
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Re: MATRICE.SOMMA.PRODOTTO

Postdi Anthony47 » 19/01/10 17:50

A questo punto e' cruciale avere l' idea precisa del formato dati: puoi allegare uno screenshot con dati simulati e fai la descrizione dell' obiettivo del calcolo su questa immagine? Per lo screenshot trovi le istruzioni qui: viewtopic.php?f=26&t=80395&p=466013#p466013

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MATRICE.SOMMA.PRODOTTO

Postdi dipic » 19/01/10 18:13

Immagine

Praticamente nell'ultima riga che mi dà i totali, se lascio "" una delle scelte, deve selezionarmi tutte le righe che corrispondono alle rimanenti condizioni, se ne lascio 2 di scelte a "", deve effettuare la selezione sulle altre 2 condizioni ...

Grazie
Avatar utente
dipic
Utente Junior
 
Post: 95
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Re: MATRICE.SOMMA.PRODOTTO

Postdi Anthony47 » 20/01/10 03:22

Formula modificata:
Codice: Seleziona tutto
=MATR.SOMMA.PRODOTTO(--($A$2:$A$20=A23);--($B$2:$B$20=B23)--($B$23="");--((--($D$2:$D$20=D23)--($D$23=""))>0);($J$2:$J$20))
Attenzione:
-la parte relativa alla prima matrice e' quella originale; su col B (seconda matrice) c' e' una versione valida se sei certo che le matrici hanno sempre una descrizione in tutte le celle; su col D c' e' altra versione da usare se non puoi garantire che tutte le celle nelle matrici avranno sempre una descrizione presente. Scegli la complicazione che ti serve e applica su tutte e tre le matrici della formula.
E' possibile che sulla terza matrice (col D) ci sia qualche "--" di troppo, ma non avevo voglia di fare esperimenti.
La formula e' riferita al layout dei dati della tua figura.

Ciao.
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea

Re: MATRICE.SOMMA.PRODOTTO

Postdi dipic » 20/01/10 11:14

Perfetto, funziona come volevo, quanto riportato nell'ultima condizione --((--($D$2:$D$20=D23)--($D$23=""))>0) è proprio quello che mi serviva (i -- sono corretti così).

Scusa se ti tedio, ma non riesco a capire il senso logico ...
se =D23 o ="" è chiaro, ma non mi è chiaro il >0 e la doppia parentesi ... perchè doppia? ...
forse quest'ultima serve a dare l'alternativa, ma così dovrebbe prendere tutte le caselle che trova con =1 ... (se guardo la formula con il wizard mi fà infatti vedere 1/0/1/1/ecc. e >0 sono gli 1).

A tal proposito volevo anche chiederti dove posso trovare tutte queste informazioni che non sono riportate su manuali o altro (libri, siti internet, ecc.) ... se mi puoi indirizzare, per potermi migliorare e magari "disturbare" sempre meno.

Grazie
Avatar utente
dipic
Utente Junior
 
Post: 95
Iscritto il: 13/09/08 14:57
Località: Cormòns (I)

Re: MATRICE.SOMMA.PRODOTTO

Postdi Anthony47 » 20/01/10 14:26

Se hai usato questa versione di formula e' perche' non puoi garantire che tutte le celle del range D2:D20 abbiano sempre un contenuto; cioe' e' possibile che qualche cella sia vuota.
In questa situazione, poiche' i valori $D$2:$D$20=D23 si sommano con $D$23="" (il doppio meno alla fine assume un significato di +), ti ritroveresti con qualche valore che viene contato due volte: una volta perche' il range (vuoto) e' uguale alla cella di controllo (D23, vuota) e una volta perche' D23=""; il confrontare quindi le somme dei due calcoli con 0 serve a riportare a 0 gli Zeri e a 1 i valori superiori a Zero (quindi 1 o 2).

Le parentesi servono perche' gli operatori logici (=, >, <, AND, OR) hanno la priorita' sugli operatori aritmetici, e i primi due "--" vanno applicati al risultato del confronto tra la somma dei due confronti intermedi e il confronto con lo Zero finale.
I "--" sono due segni di negazione, che servono a convertire i Vero/Falso dei confronti in 1/0; e' possibile che questa conversione forzata non sia necessaria in alcuni calcoli intermedi, ma siccome male non fanno li lasciamo cosi'.

Infine quale e' il libro magico che aumenta la produttivita' con excel: mah, l' unica cosa che mi viene da consigliare e' Il Piacere del lavoro secondo Dilbert, editore Garzanti... :D Poi un po' di memoria per ricordare le N+1 funzioni di excel, un po' di fantasia e un po' di help on line.

Ciao.ù
Anthony
Win7 + Office 2010 Ita; Win 7 + Office 2013 Ita
Xp + Office 2003 Ita
E voi cosa usate? (per istruzioni vedere viewtopic.php?f=26&t=97449)
Avatar utente
Anthony47
Moderatore
 
Post: 13904
Iscritto il: 21/03/06 16:03
Località: Ivrea


Torna a Applicazioni Office Windows


Topic correlati a "MATRICE.SOMMA.PRODOTTO":


Chi c’è in linea

Visitano il forum: Nessuno e 5 ospiti