Come creare una formula SOMMA con condizioni multiple

La funzione SOMMA è uno strumento potente in Excel e altri fogli di calcolo, ma diventa ancora più versatile quando combinata con condizioni multiple. In questo articolo, esploreremo come creare formule SOMMA avanzate che possono gestire scenari complessi e fornire risultati precisi basati su criteri specifici.

Indice

  1. Introduzione alla SOMMA con condizioni multiple
  2. La funzione SOMMA.SE
  3. La funzione SOMMA.PIÙ.SE
  4. Sommare con logica AND e con logica OR
  5. Esempi pratici
  6. Consigli per l’ottimizzazione
  7. Utilità
  8. Conclusione

 

1. Introduzione alla SOMMA con condizioni multiple

La capacità di sommare valori basati su criteri specifici è fondamentale in molte analisi di dati. Che si tratti di calcolare le vendite totali per una particolare regione e categoria di prodotto, o di sommare le spese solo per determinati dipartimenti e periodi di tempo, la SOMMA con condizioni multiple offre la flessibilità necessaria per gestire queste situazioni complesse.

 

2. La funzione SOMMA.SE

La funzione SOMMA.SE è il punto di partenza per creare somme condizionali. Ecco la sua sintassi di base:

=SOMMA.SE(intervallo; criteri; [intervallo_somma])

Esempio pratico:
Supponiamo di avere una tabella di vendite con colonne per Data, Prodotto, Categoria, Regione, Importo e Fornitore. Per sommare tutte le vendite della regione “Nord”, useremmo:

=SOMMA.SE(D2:D101; "Nord"; E2:E101)

Dove D2:D101 è l’intervallo delle regioni e E2:E101 è l’intervallo degli importi.

 

3. La funzione SOMMA.PIÙ.SE

Quando abbiamo bisogno di applicare più condizioni, entra in gioco SOMMA.PIÙ.SE. La sua sintassi è:

=SOMMA.PIÙ.SE(intervallo_somma; criterio_intervallo1; criterio1; [criterio_intervallo2; criterio2]; ...)

Esempio pratico:
Per sommare le vendite della regione “Nord” per il prodotto “Scarpe”:

=SOMMA.PIÙ.SE(E2:E101; D2:D101; "Nord"; B2:B101; "Scarpe")

Dove B2:B101 è l’intervallo dei prodotti.

 

4. Sommare con logica AND e con logica OR

In molte situazioni, potrebbe essere necessario sommare in modo condizionale le celle con la logica AND e la logica OR nel medesimo tempo. Anche nelle ultime versioni di Excel, la serie di funzioni SE non è in grado di farlo. Una delle possibili soluzioni è combinare due o più funzioni SOMMA.PIÙ.SE.

Un altro modo è utilizzare la funzione MATR.SOMMA.PRODOTTO di Excel dove:

  • L’asterisco (*) viene utilizzato come operatore AND.
  • Il simbolo più (+) viene utilizzato come operatore OR.

 

Esempio pratico:
Sommare le vendite superiori a 1000€ per le regioni “Nord” o “Sud”:

=MATR.SOMMA.PRODOTTO((E2:E101>1000)*((D2:D101="Nord")+(D2:D101="Sud"))*E2:E101)

 

 

5. Esempi pratici

Esempio 1: Vendite trimestrali per categoria

Supponiamo di avere una tabella con colonne: Data, Prodotto, Categoria, Regione, Importo e Fornitore.

=SOMMA.PIÙ.SE(E2:E1000; A2:A1000; ">=" & DATA(2023;1;1); A2:A1000; "<" & DATA(2023;4;1); C2:C1000; "Elettronica")

Questa formula somma le vendite di Elettronica per il primo trimestre del 2023.

 

Esempio 2: Spese per regione escludendo un fornitore

Con la solita tabella contenente, nell’ordine, Data, Prodotto, Categoria, Regione, Importo e Fornitore.

=SOMMA.PIÙ.SE(E2:E500; D2:D500; "Nord"; F2:F500; "<>FornitoreA")

Questa formula somma tutte le spese della regione Nord, escludendo quelle del FornitoreA.

 

6. Consigli per l’ottimizzazione

  1. Usa tabelle: Convertire i tuoi dati in tabelle Excel può rendere le formule più leggibili e manutenibili.
  2. Nomi definiti: Utilizza nomi definiti per gli intervalli di celle frequentemente utilizzati, migliorando la leggibilità delle formule.
  3. Formule matriciali: Per calcoli complessi su grandi set di dati, considera l’uso di formule matriciali per migliorare le prestazioni.
  4. Verifica i tipi di dati: Assicurati che i tipi di dati siano coerenti nelle colonne per evitare errori inaspettati.
  5. Documenta le formule complesse: Per formule particolarmente complesse, aggiungi commenti alle celle per spiegarne il funzionamento.

 

7. Utilità

Puoi fare pratica con le formule presentate utilizzando questo piccolo set di dati in Excel che puoi scaricare.

Nel caso volessi generarti un altro set con dati casuali, puoi utilizzare questa macro in vba (se non sai come utilizzare il codice, ti consiglio di iniziare ad approcciare l’argomento da questa pagina):

 

Sub GeneraDatasetVendite()
    Dim ws As Worksheet
    Dim i As Long
    Dim prodotti
    Dim categorie
    Dim regioni
    Dim fornitori
    
    ' Crea un nuovo foglio di lavoro
    Set ws = ThisWorkbook.Sheets.Add
    ws.Name = "Dataset_Vendite"
    
    ' Definisci gli array di dati
    prodotti = Array("Laptop", "Smartphone", "Tablet", "TV", "Auricolari", "Smartwatch", "Fotocamera", "Scarpe", "T-shirt", "Jeans", "Giacca", "Cappello")
    categorie = Array("Elettronica", "Abbigliamento")
    regioni = Array("Nord", "Sud", "Centro")
    fornitori = Array("FornitoreA", "FornitoreB", "FornitoreC", "FornitoreD")
    
    ' Scrivi le intestazioni
    ws.Cells(1, 1) = "Data"
    ws.Cells(1, 2) = "Prodotto"
    ws.Cells(1, 3) = "Categoria"
    ws.Cells(1, 4) = "Regione"
    ws.Cells(1, 5) = "Importo"
    ws.Cells(1, 6) = "Fornitore"
    
    ' Genera 100 record di dati
    For i = 2 To 101
        ' Data (dal 1 gennaio 2023 al 31 dicembre 2023)
        ws.Cells(i, 1) = DateSerial(2023, Int((12 * Rnd) + 1), Int((28 * Rnd) + 1))
        
        ' Prodotto
        ws.Cells(i, 2) = prodotti(Int((UBound(prodotti) + 1) * Rnd))
        
        ' Categoria
        If InStr(1, "Laptop,Smartphone,Tablet,TV,Auricolari,Smartwatch,Fotocamera", ws.Cells(i, 2)) > 0 Then
            ws.Cells(i, 3) = "Elettronica"
        Else
            ws.Cells(i, 3) = "Abbigliamento"
        End If
        
        ' Regione
        ws.Cells(i, 4) = regioni(Int((UBound(regioni) + 1) * Rnd))
        
        ' Importo (tra 20 e 2000)
        ws.Cells(i, 5) = Int((1981 * Rnd) + 20)
        
        ' Fornitore
        ws.Cells(i, 6) = fornitori(Int((UBound(fornitori) + 1) * Rnd))
    Next i
    
    ' Formatta la tabella
    ws.Range("A1:F101").Select
    ActiveSheet.ListObjects.Add(xlSrcRange, Range("A1:F101"), , xlYes).Name = "TabellaVendite"
    
    ' Formatta la colonna della data
    ws.Columns("A:A").NumberFormat = "yyyy-mm-dd"
    
    ' Formatta la colonna dell'importo
    ws.Columns("E:E").NumberFormat = "€#,##0.00"
    
    ' Autofit delle colonne
    ws.Columns("A:F").AutoFit
    
    MsgBox "Dataset generato con successo!", vbInformation
End Sub

 

 

8. Conclusione

Padroneggiare la creazione di formule SOMMA con condizioni multiple apre un mondo di possibilità nell’analisi dei dati. Che si tratti di report finanziari, analisi delle vendite o gestione dell’inventario, queste tecniche avanzate ti permetteranno di estrarre informazioni preziose dai tuoi dati in modo efficiente e preciso.

Ricorda sempre di testare le tue formule con diversi scenari per garantirne l’accuratezza e la robustezza. Con la pratica e l’esperienza, sarai in grado di creare formule sempre più sofisticate per soddisfare le tue esigenze di analisi dei dati.

 

 

My Agile Privacy
Questo sito utilizza cookie tecnici e di profilazione. Cliccando su accetta si autorizzano tutti i cookie di profilazione. Cliccando su rifiuta o la X si rifiutano tutti i cookie di profilazione. Cliccando su personalizza è possibile selezionare quali cookie di profilazione attivare.
Attenzione: alcune funzionalità di questa pagina potrebbero essere bloccate a seguito delle tue scelte privacy
     Scarica il nostro ebook gratuito     

Unisciti ai 30.000+ sottoscrittori
della nostra mailing list
e scarica l'ebook con i
migliori trucchi e suggerimenti per Excel
selezionati per te da Excel Academy