Sommare solo le celle contenenti formule (Microsoft Excel)
Mandy si chiede se esiste un modo per sommare un intervallo di dati e includere nella somma solo quelle celle che contengono una formula. Secondo le esigenze di Mandy, se una cella contiene un valore esplicito e non una formula, non dovrebbe essere inclusa nella somma.
Ci sono molti modi per ottenere il risultato desiderato, ma mi concentrerò solo su alcuni di essi.
Innanzitutto, se è necessario determinare la somma una sola volta e non visualizzarla all’interno del foglio di lavoro stesso, è possibile seguire questi passaggi:
-
Seleziona le celle che desideri sommare.
-
Premi F5. Excel visualizza la finestra di dialogo Vai a.
-
Fare clic sul pulsante Speciale. Excel visualizza la finestra di dialogo Vai a speciale.
-
Seleziona il pulsante di opzione Formule.
-
Fare clic su OK. Excel modifica le celle selezionate in modo che siano selezionate solo quelle che contengono le formule.
A questo punto puoi guardare nella barra di stato (in fondo alla finestra di Excel) e vedere la somma delle celle selezionate, quelle che contengono le formule.
Se preferisci un approccio basato su formule, uno dei fattori chiave qui sarà la versione di Excel che stai utilizzando. Microsoft ha introdotto la funzione ISFORMULA con il rilascio di Excel 2013, quindi se stai utilizzando quella versione (o successiva), determinare la somma che desideri è abbastanza semplice.
Usa questa formula:
=SUMPRODUCT(A1:A5,--ISFORMULA(A1:A5))
Questa formula presuppone che l’intervallo di dati che si desidera sommare sia A1: A5. Il segno “doppio meno” prima della funzione ISFORMULA viene utilizzato per convertire i valori TRUE e FALSE (come restituiti da ISFORMULA) in 1 o 0.
Se si preferisce utilizzare una formula di matrice, è possibile utilizzare la seguente formula:
=SUM(IF(ISFORMULA(A1:A6),A1:A6))
Ricorda solo di entrare usando Ctrl + Maiusc + Invio e otterrai il risultato corretto.
Se stai utilizzando una versione di Excel precedente a Excel 2010, queste formule non funzioneranno. Invece, dovrai fare affidamento su una funzione definita dall’utente per fare il trucco:
Function SumFormulas(ByVal r As Range) Dim c As Range Dim s As Double s = 0 For Each c In r.Cells If c.HasFormula And IsNumeric(c) Then s = s + c.Value End If Next c SumFormulas = s End Function
Si noti che il codice verifica che la cella contenga una formula (utilizzando la proprietà HasFormula) e verifica che sia numerica (utilizzando la funzione IsNumeric). Entrambi sono necessari perché è possibile avere una formula basata su testo in una cella e non vuoi provare a includere i risultati di tale formula nella tua somma.
Per utilizzare la funzione, dovresti semplicemente usare quanto segue in una cella del foglio di lavoro, supponendo che tu voglia sommare l’intervallo A1: C7:
=SumFormulas(A1:C7)
L’approccio basato su macro funzionerà anche nelle versioni di Excel oltre Excel 2010, se per qualche motivo non vuoi fare affidamento sulla funzione ISFORMULA. (Ad esempio, se devi garantire la compatibilità con le versioni precedenti di Excel.)
ExcelTips è la tua fonte di formazione economica su Microsoft Excel.
Questo suggerimento (13595) si applica a Microsoft Excel 2007, 2010, 2013, 2016, 2019 e Excel in Office 365.