Formula Excel: somma solo formule -

Formula generica

=SUMPRODUCT(range*ISFORMULA(range))

Sommario

Per sommare i risultati solo dalle formule, è possibile utilizzare le funzioni SUMPRODUCT e ISFORMULA. Nell'esempio mostrato, la formula in F6 è:

=SUMPRODUCT(sales*ISFORMULA(sales))

dove "vendite" è l'intervallo denominato C5: C13, i valori in C5: C9 sono hardcoded e i valori in C10: C13 vengono generati con le formule.

Spiegazione

Questa formula utilizza la logica booleana per "filtrare" i numeri nella colonna C prima di sommarli con la funzione SUMPRODUCT. Quando la formula viene valutata, i valori nell'intervallo denominato "vendite" vengono espansi in una matrice:

(925;1038;1105;1210;1250;1313;1379;1448;1520)

Per filtrare i valori che non sono creati da una formula, la funzione ISFORMULA consiste nel creare un array di valori VERO FALSO come questo:

=ISFORMULA(sales) =(FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)

Quando questi due array vengono moltiplicati l'uno per l'altro, l'operazione matematica forza i valori VERO e FALSO a 1 e 0:

=SUMPRODUCT((925;1038;1105;1210;1250;1313;1379;1448;1520)*(0;0;0;0;0;1;1;1;1)) =SUMPRODUCT((0;0;0;0;0;1313;1379;1448;1520))

Gli zeri annullano i risultati non di formula e SUMPRODUCT somma e restituisce un risultato finale.

Non formule

Per sommare i valori non generati da una formula, puoi aggiungere la funzione NOT in questo modo:

=SUMPRODUCT(sales*NOT(ISFORMULA(sales)))

Qui, la funzione NOT inverte i risultati VERO FALSO restituiti dalla funzione ISFORMULA, che filtra tutti i valori generati con una formula.

Articoli interessanti...