Se dovete affrontare un compito che richiede una somma condizionale in Excel, la funzione SOMMA.SE è quello che vi serve. Questo tutorial illustrerà brevemente la sintassi della funzione e l’uso generale, quindi metterà in pratica tali conoscenze con diversi esempi di formula SOMMA.SE.
Una delle cose positive della funzione SOMMA.SE è che sia identica in tutte le versioni di Excel, dalla 2016 alla 2003. Un’altra grande notizia è che una volta che avrete investito un po’ di tempo nell’apprendimento di SOMMA.SE, ci vorrà molto poco per comprendere anche le altre funzioni “SE” come SOMMA.PIÙ.SE, CONTA.SE, CONTA.PIÙ.SE, MEDIA.SE ecc.
Sintassi e utilizzo della funzione SOMMA.SE in Excel
La funzione SOMMA.SE, nota anche come somma condizionale di Excel, viene utilizzata per sommare celle in base a determinate condizioni o criteri. Se vi fosse capitato di leggere il tutorial sulla funzione CONTA.SE su questo blog, non avrete difficoltà a comprendere SOMMA.SE perché la sua sintassi e l’utilizzo sono analoghi. Quindi, la sintassi della funzione SOMMA.SE è la seguente:
SOMMA.SE(intervallo; criterio; [int_somma])
Come potete vedere, la funzione SOMMA.SE ha 3 argomenti: i primi 2 sono obbligatori, mentre il terzo è facoltativo.
- Intervallo: l’intervallo di celle da valutare in base ai criteri, ad esempio A1:A10.
- Criterio: la condizione che deve essere soddisfatta. I criteri possono essere forniti sotto forma di numero, testo, data, espressione logica, un riferimento di cella o un’altra funzione di Excel. Ad esempio, puoi inserire i criteri come “5”, “ciliegie”, “25/10/2016”, “<5”, “A1” ecc.
- Int_somma: le celle da sommare se la condizione è soddisfatta. Questo argomento è facoltativo e dovete utilizzarlo solo se desiderate assegnare celle diverse rispetto a quelle definite nell’argomento intervallo. Se l’argomento int_somma è omesso, Excel sommerà le stesse celle a cui vengono applicati i criteri (vale a dire quelle specificate nell’argomento intervallo).
Per illustrare meglio la sintassi di SOMMA.SE, consideriamo il seguente esempio. Supponiamo di avere un elenco di prodotti nella colonna A e gli importi corrispondenti nella colonna C. Desiderate conoscere la somma di tutti gli importi relativi a un determinato prodotto, ad esempio “banane”.
Ora definiamo gli argomenti per la nostra formula SOMMA.SE:
- Intervallo: A2:A8
- Criterio: “Banane”
- Int_somma: C2:C8
Questa formula mostra l’utilizzo più semplice della funzione SOMMA.SE con criteri testuali. Invece del testo, potete includere un numero, una data o un riferimento di cella. Ad esempio, è possibile scrivere nuovamente la formula precedente in modo che si riferisca alla cella contenente il nome del prodotto da sommare: =SOMMA.SE(A2:A8; F1; C2:C8)
In pratica, questo significa che l’argomento int_somma non deve necessariamente avere la stessa dimensione dell’argomento intervallo, quindi può avere un numero diverso di righe e colonne.
Tuttavia, la prima cella (cioè la cella superiore a sinistra) dell’intervallo da sommare deve sempre essere quella giusta. Ad esempio, nella formula SOMMA.SE sopra indicata, è possibile fornire C2, C2:C4 o addirittura C2:C100 come argomento int_somma e il risultato sarebbe ancora lo stesso. Tuttavia, la prassi migliore è quella di fornire intervallo e int_somma della stessa dimensione.
Il punto è che Microsoft Excel non può fare affidamento sulla capacità dell’utente di fornire i parametri intervallo e int_somma: per evitare possibili problemi di incoerenza e per prevenire errori, Microsoft Excel determina l’intervallo da sommare per conto suo nel modo seguente. Richiede la cella superiore sinistra nell’argomento int_somma come cella di inizio (C2 nell’esempio) e quindi include tutte le colonne e le righe contenute nell’argomento intervallo (nel nostro caso è 1 colonna x 7 righe, vale a dire C2:C8).
Come usare SOMMA.SE – Formule di esempio
Speriamo che l’esempio precedente vi abbia aiutato a maturare una conoscenza di base del funzionamento della funzione SOMMA.SE. Di seguito troverete altre formule che dimostrano come utilizzare SOMMA.SE con diversi criteri e con set di dati diversi.
SOMMA.SE maggiore di, inferiore o uguale a
Diamo un’occhiata a alcune formule SOMMA.SE che è possibile utilizzare per sommare i valori più alti, inferiori o uguali a un dato valore.
Criterio | Operatore | Formula di esempio | Descrizione |
Somma se maggiore di | > | =SOMMA.SE(A2:A10; ">5") |
Somma i valori maggiori di 5 nelle celle A2:A10. |
Somma se minore di | < | =SOMMA.SE(A2:A10; "<10"; B2:B10) |
Somma i valori nelle celle B2:B10 se il corrispondente valore di colonna A è minore di 10. |
Somma se uguale a | = (può essere omesso) |
=SOMMA.SE(A2:A10; "="&D1) o =SOMMA.SE(A2:A10; D1) |
Somma i valori nelle celle A2:A10 che sono uguali al valore di cella D1. |
Somma se diverso da | <> | =SOMMA.SE(A2:A10; "<>"&D1; B2:B10) |
Somma i valori nelle celle B2:B10 se la cella corrispondente di colonna A è diversa dal valore di cella D1. |
Somma se maggiore o uguale a | >= | =SOMMA.SE(A2:A10; ">=5") |
Somma i valori maggiori o uguali a 5 nell’intervallo A2:A10. |
Somma se minore o uguale a | <= | =SOMMA.SE(A2:A10; "<=10"; B2:B10) |
Somma i valori nelle celle B2:B10 se il corrispondente valore di colonna A è minore o uguale a 10. |
Come usare SOMMA.SE con criteri testuali
Oltre ai numeri, la funzione SOMMA.SE consente di sommare valori a seconda se la cella corrispondente in un’altra colonna contiene un testo specifico o meno.
Vi invitiamo a prestare attenzione alle varie formule SOMMA.SE per la corrispondenza esatta e parziale, come dimostrato nella tabella sottostante.
Criterio | Formula di esempio | Descrizione |
Somma se uguale a | Corrispondenza ESATTA:=SOMMA.SE(A2:A8; "Banane", C2:C8) |
Somma i valori delle celle C2:C8 se la corrispondente cella di colonna A contiene esattamente la parola “banane” e nessun’altra parola o carattere. Le celle contenenti “banane verdi” o “banane!” non saranno incluse. |
Corrispondenza PARZIALE:=SOMMA.SE(A2:A8; "*banane*"; C2:C8) |
Somma i valori delle celle C2:C8 se la corrispondente cella di colonna A contiene la parola “banane”, da sola o in combinazione con qualsiasi altra parola o carattere. Le celle contenenti “banane verdi” saranno sommate. | |
Somma se diverso da | Corrispondenza ESATTA:=SOMMA.SE(A2:A8; "<>banane"; C2:C8) |
Somma i valori delle celle C2:C8 se la corrispondente cella di colonna A contiene qualsiasi valore diverso da “banane”. Se una cella contiene “banane” insieme ad altre parole o caratteri come “banane gialle”, queste celle verranno sommate. |
Corrispondenza PARZIALE:=SOMMA.SE(A2:A8; "<>*banane*"; C2:C8) |
Somma i valori delle celle C2:C8 se la corrispondente cella di colonna A non contiene la parola “banane”, da sola o in combinazione con qualsiasi altra parola. Le celle contenenti “banane gialle” non saranno sommate. |
Per ulteriori informazioni sulla corrispondenza parziale, consulta gli esempi SOMMA.SE con caratteri jolly.
E ora, vediamo la formula “Somma se diverso da” in azione. Come illustrato nella schermata seguente, somma le quantità in magazzino di tutti i prodotti diversi dalle “banane dorate”:
=SOMMA.SE(A2:A8; "<>banane dorate"; C2:C8)
Usare gli operatori di confronto con i riferimenti di cella
Se volete effettuare un ulteriore passo avanti e ottenere una formula universale di SOMMA.SE, potete sostituire il valore numerico o testuale nei criteri con un riferimento di cella, come questo:
=SOMMA.SE(A2:A8; "<>"&F1; C2:C8)
In questo caso, non dovrete cambiare la formula per sommare condizionalmente in base ad altri criteri: dovrete semplicemente digitare un nuovo valore nella cella di riferimento.
L’operatore “uguale a” (=) può essere omesso prima di un riferimento di cella, quindi entrambe le formule riportate di seguito sono equivalenti e corrette:
Formula 1: =SOMMA.SE(A2:A8; "="&F1; C2:C8) Formula 2: =SOMMA.SE(A2:A8; F1; C2:C8)
Formule SOMMA.SE con caratteri jolly
Se avete intenzione di valutare condizionalmente le celle in base a criteri testuali e volete sommare per corrispondenza parziale, nella formula SOMMA.SE dovrete utilizzare dei caratteri jolly. Sono disponibili i seguenti caratteri jolly:
- Asterisco (*): rappresenta qualsiasi stringa di caratteri
- Punto interrogativo (?): rappresenta un singolo carattere in una posizione specifica
Esempio 1. Sommare valori in base ad una corrispondenza parziale
Supponiamo di dover sommare le rimanenze di tutti i tipi di banane. Le seguenti formule SOMMA.SE funzioneranno perfettamente:
=SOMMA.SE(A2:A8; “*banane*”; C2: C8) – i criteri includono il testo racchiuso da asterischi (*).
=SOMMA.SE(A2:A8; “*” & F1 & “*”; C2:C8) – i criteri includono un riferimento di cella racchiuso da asterischi, fate caso all’uso della “e commerciale” (&) prima e dopo il riferimento di cella per concatenare una stringa
Se volete contare solo le celle che iniziano o finiscono con un determinato testo, aggiungete un solo *, prima o dopo il testo:
=SOMMA.SE(A2:A8; "banane*"; C2:C8): per sommare i valori in C2:C8 se la cella corrispondente di colonna A inizia con la parola "banane". =SOMMA.SE(A2:A8; "*banane"; C2:C8): per sommare i valori in C2:C8 se la cella corrispondente di colonna A termina con la parola "banane".
Esempio 2. Sommare valori con un dato numero di caratteri
Nel caso in cui vogliate sommare valori che sono esattamente di 6 lettere, utilizzate la seguente formula:
=SOMMA.SE(A2:A8; "??????"; C2:C8)
Esempio 3. Sommare celle corrispondenti a valori testuali
Se il foglio di lavoro contiene diversi tipi di dati e volete sommare solo le celle corrispondenti a valori di testo, le seguenti formule SOMMA.SE saranno utili:
=SOMMA.SE(A2:A8; "?*"; C2:C8): somma i valori nelle celle C2:C8 se la cella corrispondente di colonna A contiene almeno un carattere testuale =SOMMA.SE(A2:A8; "*"; C2:C8): comprende le celle apparentemente vuote che contengono stringhe di lunghezza zero restituite da altre formule, ad es. =""
Entrambe le formule qui sopra ignorano i valori non testuali come errori, valori booleani, numeri e date.
Esempio 4. Trattare * e ? come caratteri normali
Se volete trattare * e ? come un carattere letterale piuttosto che un carattere jolly, occorre farli precedere da una tilde (~). Ad esempio, la seguente formula SOMMA.SE sommerà i valori nelle celle C2:C8 se la cella in colonna A della stessa riga contiene un punto interrogativo:
=SOMMA.SE(A2:A8; "~?"; C2:C8)
Sommare i numeri più grandi o più piccoli in un intervallo
Per sommare i numeri più grandi o più piccoli di un intervallo, utilizzate la funzione SOMMA rispettivamente insieme alle funzioni GRANDE o PICCOLO.
Esempio 1. Sommare alcuni numeri più grandi / piccoli
Se volete sommare solo pochi numeri, ad esempio 5, potete digitarli direttamente nella formula, così:
=SOMMA(GRANDE(B1:B10;{1.2.3.4.5})): per sommare i 5 numeri più grandi =SOMMA(PICCOLO(B1:B10;{1.2.3.4.5})): per sommare i 5 numeri più piccoli
Esempio 2. Sommare molti numeri più grandi / piccoli
Se volete sommare molti numeri, invece di elencarli tutti nella formula, è possibile nidificare le funzioni RIF.RIGA e INDIRETTO nella formula SOMMA. Nella funzione INDIRETTO, utilizzate i numeri di riga che rappresentano il numero di valori da aggiungere. Ad esempio, le seguenti formule sommano rispettivamente i 15 numeri più grandi e più piccoli:
=SOMMA(GRANDE(B1:B50; RIF.RIGA(INDIRETTO("1:15")))) =SOMMA(PICCOLO(B1:B50; RIF.RIGA(INDIRETTO("1:15"))))
Poiché queste sono formule matriciali, ricordatevi di inserirle nel modo premendo Ctrl + Maiusc + Invio.
Esempio 3. Sommare un numero variabile di valori più grandi / piccoli
Se preferite non modificare la formula ogni volta che volete sommare un numero diverso di celle, potete inserire quel numero in una cella invece di inserirlo direttamente nella formula. E poi, è possibile utilizzare le funzioni RIF.RIGA e INDIRETTO come mostrato sopra e fare riferimento a una cella contenente la variabile, la cella E1 nel nostro caso:
=SOMMA(GRANDE(B1:B50; RIF.RIGA(INDIRETTO("1:"&E1)))): somma un numero variabile dei più grandi numeri =SOMMA(PICCOLO(B1:B50; RIF.RIGA(INDIRETTO("1:"&E2)))): somma un numero variabile dei più piccoli numeri
Ricordate che queste sono formule di matrice, quindi è necessario premere Ctrl + Maiusc + Invio per completarle.
Come sommare le celle che corrispondono a celle vuote
Se per “vuoto” intendete le celle che non contengono assolutamente nulla (nessuna formula, nessuna stringa di lunghezza zero restituita da un’altra funzione di Excel), potete utilizzare il criterio “=”, come nella seguente formula SOMMA.SE:
=SOMMA.SE(A2:A10; "="; C2:C10)
Se “vuoto” deve includere stringhe di lunghezza zero (ad esempio, le celle con una formula come = “”), utilizzate come criterio “”:
=SOMMA.SE(A2:A10; ""; C2:C10)
Entrambe le formule sopra riportate valutano le celle nella colonna A e se vengono trovate delle celle vuote, vengono sommati i valori corrispondenti della colonna C.
Come sommare le celle che corrispondono a celle non vuote
Se volete sommare i valori delle celle in colonna C quando una cella corrispondente nella colonna A non è vuota, utilizzate “<>” come criterio nella formula SOMMA.SE:
=SOMMA.SE(A2:A10; “<>”; C2:C10)
La formula qua sopra conteggia i valori corrispondenti a tutte le celle non vuote, incluse le stringhe di lunghezza zero.
Come utilizzare SOMMA.SE con le date
Generalmente, si utilizza la funzione SOMMA.SE per sommare valori in base alle date nello stesso modo in cui si utilizzano criteri di testo e numerici.
Se volete sommare valori corrispondenti a delle date che siano superiori, inferiori o uguali ad una data specificata, utilizzate gli operatori di confronto che abbiamo discusso un momento fa. Di seguito sono riportati alcuni esempi di formule SOMMA.SE:
Criterio | Formula di esempio | Descrizione |
Sommare valori in base ad una certa data | =SOMMA.SE(B2:B9; "26/04/2017"; C2:C9) |
Somma i valori nelle celle C2:C9 se la data corrispondente in colonna B è 26/04/2017. |
Sommare valori se la data corrispondente è maggiore o uguale ad una certa data | =SOMMA.SE(B2:B9; ">=26/04/2017"; C2:C9) |
Somma i valori nelle celle C2:C9 se la data corrispondente in colonna B è maggiore o uguale a 26/04/2017. |
Sommare valori se la data corrispondente è maggiore della data in un’altra cella | =SOMMA.SE(B2:B9;">"&F1; C2:C9) |
Somma i valori nelle celle C2:C9 se la data corrispondente in colonna B è maggiore della data in F1. |
Nel caso in cui voleste sommare valori in base alla data corrente, è necessario utilizzare SOMMA.SE in combinazione con la funzione OGGI() come mostrato di seguito:
Criterio | Formula di esempio |
Sommare valori in base alla data corrente | =SOMMA.SE(B2:B9; OGGI(); C2:C9) |
Sommare valori corrispondenti ad una data precedente, inferiore ad oggi | =SOMMA.SE(B2:B9; "<"&OGGI(); C2:C9) |
Sommare valori corrispondenti ad una data futura, maggiore di oggi | =SOMMA.SE(B2:B9; ">"&OGGI(); C2:C9) |
Sommare valori se la data capita tra una settimana (ad es. oggi + 7 giorni) | =SOMMA.SE(B2:B9; "="&OGGI()+7; C2:C9) |
Lo screenshot qui sotto illustra come sia possibile utilizzare l’ultima formula per trovare la quantità totale di tutti i prodotti che vengono spediti fra una settimana.
Come sommare valori che corrispondono ad un intervallo di date
La domanda seguente viene spesso posta sui forum e i blog di Excel – “Come faccio a sommare valori che si verificano tra due date?” La risposta è quella di utilizzare una combinazione, o più precisamente, la differenza di 2 funzioni SOMMA.SE. In Excel 2007 e versioni successive, è anche possibile utilizzare la funzione SOMMA.PIÙ.SE che consente di utilizzare più criteri, ed è anche un’opzione migliore. Mentre quest’ultima sarà oggetto del nostro prossimo articolo, un esempio con la funzione SOMMA.SE è riportato di seguito:
=SOMMA.SE(B2:B9; ">=01/04/2017"; C2:C9) - SOMMA.SE(B2:B9; ">=01/05/2017"; C2:C9)
Questa formula somma i valori nelle celle C2:C9 se la data nella colonna B è tra il 1-apr-2017 e il 30-apr-2017, incluso.
Questa formula potrebbe sembrare un po’ difficile a prima vista, ma con uno sguardo più attento, vedrete che è abbastanza semplice. La prima funzione SOMMA.SE somma tutte le celle in C2:C9 dove la cella corrispondente nella colonna B è maggiore o uguale alla data di inizio (1° aprile in questo esempio). Quindi occorre solo sottrarre tutti i valori che cadono dopo la data di fine (30 aprile), restituiti dalla seconda funzione SOMMA.SE.
Come sommare i valori di più colonne
Per capire meglio il problema, consideriamo il seguente esempio. Supponiamo di avere una tabella riassuntiva delle vendite mensili. Dal momento che è stato consolidato da diversi report regionali, ci sono più record per ogni prodotto:
Quindi, come si fa a trovare il totale delle mele vendute in tutte le regioni negli ultimi due mesi?
Come ricorderete, le dimensioni di int_somma sono determinate dalle dimensioni del parametro intervallo. Ecco perché non potete utilizzare una formula come =SOMMA.SE(A2:A9; “mele”; C2:D9), perché sommerebbe solo i valori corrispondenti a “Mele” nella colonna C. Non è quello che cerchiamo, giusto?
La soluzione più logica e più semplice è quella di creare una colonna di supporto che calcoli i singoli subtotali per ogni riga e quindi fare riferimento a quella colonna nel criterio int_somma.
Allora inseriamo una semplice formula SOMMA nella cella E2, quindi trasciniamola lungo la colonna E: =SOMMA(C2:D2).
Dopo di che potete scrivere una formula SOMMA.SE come questa:
=SOMMA.SE(A2:A9; "mele", E2:E9)
oppure
=SOMMA.SE(A2:A9; H1; E2:E9)
Nelle formule sopra indicate, int_somma è esattamente della stessa dimensione di intervallo, vale a dire 1 colonna e 8 righe, e quindi restituisce il risultato corretto:
Se preferite fare senza la colonna di supporto, puoi scrivere una separata formula SOMMA.SE per ciascuna delle colonne da sommare e quindi sommare i numeri restituiti utilizzando la funzione SOMMA:
=SOMMA(SOMMA.SE(A2:A9; H1; C2:C9); SOMMA.SE(A2:A9; H1; D2:D9))
Un altro modo è quello di utilizzare una formula matriciale più complessa (non dimenticate di premere Ctrl + Maiusc + Invio):
{=SOMMA((C2:C9+D2:D9)*(--(A2:A9=H1)))}
Entrambe le formule sopra riportate restituiranno 1984 nel nostro caso.
FAQ o “Perché la mia formula SOMMA.SE non funziona?”
Ci possono essere diverse ragioni per cui SOMMA.SE potrebbe non funzionare. A volte la formula non restituisce ciò che vi aspettate solo perché il tipo di dati in una cella o in un argomento non è adatto per la funzione SOMMA.SE. Quindi, ecco un elenco di cose da controllare.
Gli argomenti intervallo e int_somma dovrebbero essere intervalli, non matrici.
Il primo (intervallo) e il terzo argomento (int_somma) della vostra formula SOMMA.SE devono sempre essere un riferimento di intervallo come A1:A10. Se tentate di inserire qualsiasi altra cosa, ad esempio una matrice come {1.2.3}, Excel restituirà un messaggio di errore.
Formula corretta: =SOMMA.SE(A1:A3; "mele"; C1:C3) Formula sbagliata: =SOMMA.SE({1,2,3}; "mele"; C1:C3)
Come sommare i valori da altri fogli o cartelle di lavoro.
Come quasi tutte le altre funzioni di Excel, SOMMA.SE può fare riferimento ad altri fogli e cartelle di lavoro, a condizione che siano attualmente aperti.
Ad esempio, la formula seguente sommerà i valori nelle celle F2:F9 nel Foglio 1 di Cartel1 se la cella corrispondente nella colonna A nello stesso foglio contiene “mele”:
=SOMMA.SE([Cartel1.xlsx]Foglio1!$A$2:$A$9; "mele"; [Cartel1.xlsx]Foglio1!$F$2:$F$9)
Tuttavia, questa formula non funzionerà più non appena Cartel1 verrà chiuso. Ciò accade perché gli intervalli referenziati dalle formule SOMMA.SE nelle cartelle di lavoro chiuse vengono de-referenziate in matrici e poiché non sono ammesse matrici negli argomenti intervallo e int_somma, la formula SOMMA.SE restituirà il valore di errore #VALORE!.
Per evitare problemi, assicuratevi che intervallo e int_somma siano della stessa dimensione.
Come è stato osservato all’inizio di questo tutorial, nelle versioni moderne di Microsoft Excel, i parametri intervallo e int_somma non devono essere uguali (Excel li ridimensiona automaticamente). In Excel 2000 e versioni precedenti, intervallo e int_somma di dimensioni differenti causavano problemi. Tuttavia, anche nelle versioni più recenti di Excel, formule SOMMA.SE complesse dove int_somma ha meno righe e/o colonne rispetto a intervallo sono capricciose. Ecco perché è considerata una buona pratica avere sempre gli argomenti intervallo e int_somma della stessa dimensione e forma.
Come rendere le formule SOMMA.SE più veloci.
Se avete popolato le vostre cartelle di lavoro con formule SOMMA.SE complesse che rallentano Excel, controllate questo articolo e imparate a farle funzionare più velocemente. L’articolo è stato scritto molto tempo fa, quindi non siate sorpresi dal tempo di calcolo. Gli approcci raccomandati e gli esempi di formule sono ancora efficaci e brillanti!
Gli esempi di SOMMA.SE descritti in questo tutorial toccano solo alcuni degli usi fondamentali di questa funzione. In uno dei prossimi articoli, indagheremo formule avanzate che sfruttano la potenza reale di SOMMA.SE e SOMMA.PIÙ.SE e ti consentiranno di sommare tenendo in considerazione più criteri. Grazie per la lettura!