Il problema
Vogliamo sommare i valori della colonna Fatturato solo quando la cella corrispondente della colonna Agente è non vuota.
Primo metodo: SOMMA.PIÙ.SE
La funzione SOMMA.PIÙ.SE somma tutti i suoi argomenti che soddisfano più criteri. La sua sintassi è:
SOMMA.PIÙ.SE(int_somma; intervallo_criteri1; criteri1; [intervallo_criteri2; criteri2]; …), dove int_somma è l’intervallo da sommare, intervallo_criteri1 è l’intervallo che verrà testato dalla condizione criteri1.
Nel nostro caso andremo dunque a inserire in un’altra cella la funzione:
=SOMMA.PIÙ.SE(B2:B12;C2:C12;”<>“)
Nel nostro caso la colonna B rappresenta il fatturato e la colonna C l’agente. Notare che come criterio è sufficiente indicare “<>” (diverso da): nel caso venga utilizzato senza altri valori resta sottointeso “diverso da vuoto”.
Secondo metodo: MATR.SOMMA.PRODOTTO
La funzione MATR.SOMMA.PRODOTTO restituisce la somma dei prodotti di intervalli o matrici corrispondenti. La sua sintassi è:
MATR.SOMMA.PRODOTTO(matrice1; [matrice2]; [matrice3]; …), dove matrice1 è la prima matrice (intervallo) della quale si voglio moltiplicare e poi sommare gli elementi, [matrice2], [matrice3] sono le successive matrici (intervalli) delle quali si vogliono moltiplicare gli elementi e poi sommarli.
Nel nostro caso dovremo scrivere:
=MATR.SOMMA.PRODOTTO((Tabella1[Agente]<>“”)*Tabella1[Fatturato])
Notate che il primo argomento della funzione non è direttamente un intervallo di valori, infatti è messo tra parentesi, ma è un test eseguito sulla colonna Agente. Il risultato di questo test sarà un intervallo di celle di valore: Vero, se la cella contiene le iniziali di un agente, Falso, se la cella è vuota.
Nel nostro caso dunque il risultato sarà: (Vero, Falso, Vero, Vero, Vero, Falso, Vero, Vero, Falso, Vero, Vero). La domanda adesso è: come posso moltiplicare questi valori per i valori della colonna Fatturato? Lo posso fare perchè Excel, trattandosi di una moltiplicazione, esegue una conversione implicita da valori booleani (Vero e Falso) a valori interi.
I valori precedenti vengono convertiti in: (1,0, 1, 1, 1, 0, 1, 1, 0, 1, 1). A questo punto tali valori vengono moltiplicati, cella per cella, con la colonna fatturato e poi sommati. E’ evidente che al risultato finale contribuiranno solo le celle che hanno la loro corrispondente della colonna Agenti non vuota.
Terzo metodo: FILTRO e SOMMA
La funzione FILTRO consente di filtrare un intervallo di dati in base a criteri definiti. La sua sintassi è:
=FILTRO(matrice,includi,[se_vuoto]), dove matrice è l’intervallo di celle da filtrare, includi è un intervallo di valori booleani delle stesse dimensioni di matrice, se_vuoto è il valore da restituire se tutti i valori della matrice sono nulli.
Nel nostro caso scriveremo:
=SOMMA(FILTRO(Tabella1[Fatturato];Tabella1[Agente]<>“”;0))
L’effetto del filtro è quello di “eliminare” dalla colonna Fatturato tutti i valori che hanno il loro corrispondente vuoto nella colonna Agenti.
Il risultato
Abbiamo usato 3 metodi diversi soprattutto per fare pratica con le funzioni MATR.SOMMA.PRODOTTO e FILTRO che, data la loro flessibilità, risultano utili in moltissime situazioni.