Excel, formule con matrici

stevesteve

Stefano
Registrato
3/4/02
Messaggi
10.002
Punti reazioni
458
ho appena capito qualcosa delle matrici in excel, e mi trovo di fronte ad un problema che finora non ho trovato come risolvere.

A fianco di un elenco di date ho alcune colonne contenenti 0/1 a seconda che certe condizioni (una per colonna) si siano verificate oppure no. Ho un'altra colonna che contiene risultati numerici.

Voglio ottenere di calcolare il risultato che avrei avuto al verificarsi delle sole condizioni 1 e 2, oppure 1,2 e 3, oppure 1 e 3 etc.

Finora lo faccio con filtri sulle varie colonne, ma ovviamente è piuttosto laborioso e si presta facilmente ad errori.

Ho verificato che le condizioni E e O nelle formule matriciali non funzionano.

C'è un modo di farlo con le matrici o mi sto inutilmente intestardendo e devo cercare altre strade?

Esempio allegato (e buon ferragosto! ;-) )

Stefano
 

Allegati

  • Cartel1.xlsx
    9,2 KB · Visite: 28
scusa, a occhio mi sembra che "se la somma dei valori sulla riga è 1" il risultato è "170", se 2 il risultato è 340. Non capisco però come possa tu ottenere 1860 il 12 luglio, quando il 15 luglio tu ottieni 340. Se non chiarisci prima questo non ti possiamo aiutare. La formula deve essere deterministica
 
il risultato in colonna G è un dato, è indipendente dagli altri valori sul foglio.

Le colonne Cond_n, quando = 1, indicano le condizioni che sono state soddisfatte quando si è verificato il risultato nella colonna G.

Quello che voglio ottenere è:

1) qual'è il totale dei risultati della colonna G quando è soddisfatta soltanto la condizione in cond_1 (colonna B = 1; le altre = 0)?

2) come sopra quando sono soddisfatte soltanto le condizioni in cond_3 e cond_4 (colonna D = 1; colonna E = 1; le altre = 0)?

3) eccetera per tutte le combinazioni delle 5 colonne Cond_n

Ovviamente mi basterebbe, se fattibile, una formula per una combinazione, poi deduco (spero) ;-)

Stefano

PS si può tralasciare la colonna F di cond_5.
 
Ultima modifica:
devi costruire delle funzioni tipo:

=se(e(Cond_3=1;Cond_4=1;... )

l'operatore logico "e" restituisce VERO se "tutte" le condizioni logiche in esso contenute sono VERE
 
questo lo so fare, ma implica aggiungere tante colonne quante sono le combinazioni delle condizioni.

Speravo di poter utilizzare le matrici, dove l'operatore logico E ho letto che non funziona, per avere solo i risultati totali di ogni combinazione.

Grazie comunque di averci provato, vediamo se arrivano altri suggerimenti.
 
ma se non espliciti le combinazioni delle condizioni come pretendi di ottenere un risultato? con lo Spirito Santo?

non capisco come vuoi fare i calcoli o non ti sei riuscito a spiegare.
 
ma le condizioni sono fisse o le vuoi modificare anche dopo?
tipo vediamo se fosse stata soddisfatta che risultato mi avrebbe dato

le condizioni sono on / off ?
 
Nelle celle B2:F22 i valori esposti equivalgono a
1 = Vero
0 = Falso (il simbolo "-" equivale a 0)

esempi:

quando è vera soltanto, in colonna B, cond_1 (nell'esempio si verifica solo in riga 3) il risultato è -480

quando sono vere soltanto, in colonne D e E, cond_3 e cond_4 (nell'esempio si verifica nelle righe 8,9,11) il risultato (1860 + 440 - 340) è +1960

e così via per le altre combinazioni.

Ovviamente il file postato è un esempio, il foglio su cui voglio operare ha centinaia di righe.
 
Nelle celle B2:F22 i valori esposti equivalgono a
1 = Vero
0 = Falso (il simbolo "-" equivale a 0)

esempi:

quando è vera soltanto, in colonna B, cond_1 (nell'esempio si verifica solo in riga 3) il risultato è -480

quando sono vere soltanto, in colonne D e E, cond_3 e cond_4 (nell'esempio si verifica nelle righe 8,9,11) il risultato (1860 + 440 - 340) è +1960

e così via per le altre combinazioni.

Ovviamente il file postato è un esempio, il foglio su cui voglio operare ha centinaia di righe.

le condizioni sono indipendenti tra di loro?

e i valori 1860 , 440 , -340 dove sono li hai calcolati per ora nella formula finale?
 
Ultima modifica:
Non ti interessa analizzare tutte le possibili condizioni che si possono verificare ma solo quelle già verificate.

Quindi devi estrarre le singole combinazioni creando un campo Condizioni = condizione0*10^0+condizione1*10^1+...+condizionen*10^n.

Poi con Inserisci->Tabella pivot generi una crosstab su Condizioni e somma di Risultato.
 

Allegati

  • stevesteveCartel1.xlsx
    16,1 KB · Visite: 17
Non ti interessa analizzare tutte le possibili condizioni che si possono verificare ma solo quelle già verificate.

Quindi devi estrarre le singole combinazioni creando un campo Condizioni = condizione0*10^0+condizione1*10^1+...+condizionen*10^n.

Poi con Inserisci->Tabella pivot generi una crosstab su Condizioni e somma di Risultato.


carino il campo condizioni... :clap: la soluzione era più semplice di quanto mi stessi proponendo :bow: .

Mi divertirò ad aggiungere zeri - forse dovrò trasformare le celle in stringa - per rendere tutti i risultati di 5 caratteri.

Grazie! (a tutti) :)

Stefano


PS il foglio "Pivot Table_Foglio1_2" lo hai scritto a mano? se no come lo hai ottenuto?
 
Ultima modifica:
carino il campo condizioni... :clap: la soluzione era più semplice di quanto mi stessi proponendo :bow: .

Mi divertirò ad aggiungere zeri - forse dovrò trasformare le celle in stringa - per rendere tutti i risultati di 5 caratteri.

Grazie! (a tutti) :)

Stefano


PS il foglio "Pivot Table_Foglio1_2" lo hai scritto a mano? se no come lo hai ottenuto?
Segreto :censored: !

E' l'output della crosstab generata da LibreOffice, pensavo si potesse esportare verso Excel ma non ha funzionato così l'ho ricreata a mano in Excel.
LibreOffice è più veloce con alcune operazioni ma se hai fogli con molte formule è inutilizzabile.
 
Indietro