Come si fa a sommare solo le celle visibili in base a determinati criteri in Excel?
In Excel, gli utenti possono generalmente sommare celle in base a criteri specifici utilizzando la funzione SOMMA.PIÙ.SE. Tuttavia, quando si lavora con dati filtrati, l’applicazione diretta di SOMMA.PIÙ.SE include nel calcolo sia le celle visibili che quelle nascoste, generando spesso risultati errati se l’obiettivo è sommare esclusivamente le celle visibili (ovvero non filtrate) che soddisfano determinati criteri, come illustrato nell’immagine seguente.

Somma solo le celle visibili in base a uno o più criteri con una colonna di supporto
Somma solo le celle visibili in base a uno o più criteri con una formula
Somma solo le celle visibili in base a criteri utilizzando codice VBA
È un'esigenza comune nella reportistica quotidiana e nei flussi di lavoro Analisi dei dati aggregare in modo accurato i dati in tabelle filtrate, ad esempio per calcolare gli importi delle vendite di un prodotto o categoria specifici dopo aver applicato alcuni filtri. Un’elaborazione errata può generare totali che includono dati non desiderati, quindi è fondamentale utilizzare tecniche che sommino esclusivamente i dati visibili sullo schermo.
Questo articolo presenta diversi metodi pratici adatti a scenari e livelli di competenza differenti, ciascuno con vantaggi e possibili limitazioni. È possibile scegliere la soluzione più adatta alle dimensioni del foglio di lavoro, alla struttura dei dati e alle proprie abitudini operative. Di seguito sono riportati i passaggi dettagliati per ogni soluzione, insieme a spiegazioni sugli errori potenziali e suggerimenti per ottimizzare il processo di calcolo al fine di ottenere risultati più affidabili.
Somma solo le celle visibili in base a uno o più criteri con una colonna di supporto
Uno degli approcci più intuitivi e affidabili per sommare le celle visibili in base a criteri specifici consiste nell’utilizzare una colonna di supporto che restituisca un valore solo per le righe visibili, per poi applicare la funzione SOMMA.PIÙ.SE con le condizioni desiderate. Questo metodo si rivela particolarmente efficace quando il set di dati viene filtrato frequentemente in modi diversi o quando è necessario creare calcoli chiari e facilmente modificabili dai colleghi.
Vantaggi: Facile da impostare; tutta la logica e i calcoli restano visibili nel foglio di lavoro; ideale per tabelle di piccole e medie dimensioni; robusto quando devi modificare o verificare le formule.
Limitazioni: Richiede la creazione di colonne aggiuntive; potrebbe necessitare l’aggiornamento delle formule in caso di modifiche alla disposizione delle righe; un uso esteso può risultare ingombrante con set di dati molto grandi.
Ad esempio, per sommare solo i valori degli ordini relativi al prodotto «Hoodie» in una Intervallo di filtro:
1. Inserisci o copia la seguente formula in una colonna vuota accanto al tuo set di dati (ad esempio, nella cella E2, supponendo che la colonna D contenga i valori):
Trascina il quadratino di riempimento verso il basso per estendere la formula a tutte le righe dell’intervallo dati. La formula restituirà il valore della colonna D se la riga è visibile, altrimenti 0 se è nascosta dal filtro.

2. Dopo aver generato i valori di supporto nella colonna E, utilizza la funzione SOMMA.PIÙ.SE per sommare solo i valori visibili in base ai criteri desiderati. Ad esempio, per sommare i valori relativi a «Hoodie» nella colonna A:

Puoi aggiungere ulteriori criteri estendendo gli argomenti di SOMMA.PIÙ.SE nel formato =SOMMA.PIÙ.SE(intervallo_somma; intervallo_criteri1; criteri1; [intervallo_criteri2; criteri2]; [intervallo_criteri3; criteri3]; ...). Assicurati sempre che gli intervalli siano perfettamente allineati per ottenere risultati precisi e affidabili.
Attenzione: se si riorganizzano, inseriscono o eliminano righe dopo aver impostato le formule, verificare attentamente che tutti i riferimenti siano ancora allineati alla struttura dei dati. A volte gli errori derivano da intervalli disallineati o dalla mancata aggiornamento delle celle dei criteri.
Somma solo le celle visibili in base a criteri con una formula
Se preferisci una soluzione basata su formule che non richieda colonne di supporto, puoi combinare le funzioni MATR.SOMMA.PRODOTTO, SUBTOTALE, SCARTO, RIGA e MIN per sommare solo le celle visibili in base a criteri specifici. Questo approccio è perfetto per utenti esperti di Excel a proprio agio con le formule matriciali ed è particolarmente vantaggioso quando vuoi mantenere il foglio pulito ed essenziale, senza colonne aggiuntive.
Vantaggi: Non richiede colonne aggiuntive nel foglio di lavoro; è flessibile e dinamico; la formula si aggiorna istantaneamente non appena si modificano filtri o criteri.
Limitazioni: Le formule possono risultare complesse da leggere o correggere, soprattutto per chi non ha dimestichezza con le funzioni matriciali; inoltre, su tabelle molto grandi potrebbero rallentare le prestazioni.
Copiare o digitare la seguente formula in una cella vuota (ad esempio, per sommare le celle visibili relative a «Hoodie» nell’intervallo A2:A12, con Valore effettivo in D2:D12 e il criterio in A17):
Dopo aver inserito la formula, premere Invioper ottenere il risultato desiderato, come mostrato di seguito:

Attenzione: questo approccio è sensibile agli intervalli specificati; intervalli non corrispondenti o sovrapposti possono causare errori o risultati imprevisti. Verificate sempre i casi limite, in particolare quando il filtro modifica il numero o la posizione delle righe visibili.
Somma solo le celle visibili in base a criteri utilizzando codice VBA
Per utenti avanzati, VBA offre un metodo flessibile per sommare esclusivamente le celle visibili in base a criteri specifici, risultando particolarmente efficace in scenari complessi o con set di dati di grandi dimensioni, dove le formule standard potrebbero causare colli di bottiglia prestazionali o rivelarsi insufficienti per gestire logiche multi-condizionali difficili da esprimere in un’unica formula. Grazie a VBA, è possibile scorrere ogni riga visibile, verificare le condizioni richieste e calcolare la somma in modo rapido ed efficiente — una soluzione ideale per reportistica ripetitiva o per automatizzare calcoli di sintesi.
Vantaggi: Gestisce con facilità set di dati di grandi dimensioni, criteri multipli o dinamici e logiche complesse; il processo è rapido anche con migliaia di righe e riduce il rischio di errori causati da modifiche manuali alle formule.
Limitazioni: Richiede l’abilitazione delle macro; alcuni utenti potrebbero non conoscere VBA o non disporre delle autorizzazioni necessarie; per apportare modifiche è necessario accedere all’Editor di macro. Effettua sempre un backup prima di eseguire codice VBA su set di dati importanti.
1. Per iniziare, apri l’Editor di VBA facendo clic su Strumenti per sviluppatori > Visual Basic. Nella finestra visualizzata, vai su Inserisci > Modulo e incolla il seguente codice nel nuovo modulo:
Sub SumVisibleByCriteria()
Dim ws As Worksheet
Dim rng As Range
Dim cell As Range
Dim criteriaColumn As Range
Dim sumColumn As Range
Dim criteriaValue As Variant
Dim total As Double
Dim lastRow As Long
Dim criteriaColNum As Integer
Dim sumColNum As Integer
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
' Prompt user for criteria column and sum column
Set criteriaColumn = Application.InputBox("Select the criteria range (e.g., A2:A100):", xTitleId, Type:=8)
Set sumColumn = Application.InputBox("Select the values range to sum (e.g., D2:D100):", xTitleId, Type:=8)
criteriaValue = Application.InputBox("Enter the criteria value to match:", xTitleId, Type:=2)
If criteriaColumn Is Nothing Or sumColumn Is Nothing Or criteriaValue = "" Then
MsgBox "Operation cancelled.", vbInformation, xTitleId
Exit Sub
End If
If criteriaColumn.Rows.Count <> sumColumn.Rows.Count Then
MsgBox "Criteria and sum ranges must be the same number of rows.", vbCritical, xTitleId
Exit Sub
End If
total = 0
For Each cell In criteriaColumn
If Not cell.EntireRow.Hidden Then
If cell.Value = criteriaValue Then
total = total + sumColumn.Cells(cell.Row - criteriaColumn.Cells(1).Row + 1).Value
End If
End If
Next cell
MsgBox "The sum of visible cells matching the criteria is: " & total, vbInformation, xTitleId
End Sub 2. Fai clic sul pulsante
«Esegui» (oppure premi)F5) per eseguire il codice. Verrà visualizzata una finestra di dialogo che ti chiederà di selezionare sia l’intervallo dei criteri (ad esempio i nomi dei prodotti), sia l’intervallo dei valori da sommare e il valore da utilizzare come filtro (ad esempio «Hoodie»). La macro sommerà solo le righe visibili in cui il criterio è soddisfatto e mostrerà il risultato in un messaggio a comparsa.
Suggerimenti pratici: Utilizza questo codice VBA quando devi ricalcolare frequentemente le somme dopo aver modificato i dati o i filtri. Puoi estendere ulteriormente il codice per gestire criteri multipli aggiungendo altre richieste di input o condizioni logiche.
Risoluzione dei problemi: Assicurati sempre che gli intervalli selezionati per criteri e valori abbiano lo stesso numero di righe e si riferiscano alle stesse colonne dei dati filtrati. Se il codice restituisce un errore o non produce la somma attesa, ricontrolla attentamente le impostazioni del filtro e la selezione attiva.
Suggerimenti conclusivi: Per analisi dei dati che richiedono calcoli ripetuti solo sulle celle visibili, salvare questa macro nella Cartella personale delle macro può velocizzare la reportistica quotidiana. Se non appare alcuna finestra di dialogo, verificare le impostazioni e le autorizzazioni relative alle macro.
Migliori Strumenti per la Produttività in Office
Potenzia le tue competenze in Excel con Kutools per Excel e sperimenta un’efficienza mai vista prima.Kutools per Excel offre oltre 300 funzionalità avanzate per aumentare la produttività e Risparmia tempo.Clicca qui per ottenere la funzionalità di cui hai più bisogno...
Office Tab Porta l'interfaccia a schede in Office e rende il tuo lavoro molto più semplice
- Abilita la modifica e la lettura a schede in Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
- Apri e crea più documenti in nuove schede all’interno della stessa finestra, invece che in finestre separate.
- Aumenta la tua produttività del 50 % e risparmia centinaia di clic del mouse ogni giorno!
Tutti i componenti aggiuntivi di Kutools in un unico programma di installazione.
Kutools for Office è la suite che include componenti aggiuntivi per Excel, Word, Outlook e PowerPoint, oltre a Office Tab Pro: la soluzione ideale per i team che lavorano su diverse app di Office.
- Suite completa— componenti aggiuntivi per Excel, Word, Outlook e PowerPoint + Office Tab Pro
- Un unico programma di installazione, una sola licenza— configurazione in pochi minuti (pronto per MSI)
- Funziona meglio insieme— produttività ottimizzata tra le app di Office
- Prova gratuita di 30 giorni con tutte le funzionalità— nessuna registrazione, nessuna carta di credito
- Miglior rapporto qualità-prezzo— risparmia rispetto all’acquisto dei singoli componenti aggiuntivi