Excel-formel: endast summan av formler -

Generisk formel

=SUMPRODUCT(range*ISFORMULA(range))

Sammanfattning

För att bara summera resultat från formler kan du använda funktionerna SUMPRODUCT och ISFORMULA. I exemplet som visas är formeln i F6:

=SUMPRODUCT(sales*ISFORMULA(sales))

där "försäljning" är det namngivna intervallet C5: C13, värden i C5: C9 är hårdkodade och värden i C10: C13 genereras med formler.

Förklaring

Denna formel använder boolesk logik för att "filtrera" siffrorna i kolumn C innan de summeras med SUMPRODUCT-funktionen. När formeln utvärderas utvidgas värdena i det namngivna intervallet "försäljning" till en matris:

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

För att filtrera bort alla värden som inte skapas av en formel, är funktionen ISFORMULA att skapa en matris med SANT FALSKA värden så här:

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

När dessa två matriser multipliceras med varandra, tvingar matteoperationen SANT och FALSKT till 1 och 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))

Nollorna avbryter resultat som inte är formel och SUMPRODUCT summerar och returnerar ett slutresultat.

Inte formler

För att summera värden som inte genereras av en formel kan du lägga till funktionen INTE så här:

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

Här reverserar INTE-funktionen de Sanna falska resultaten som returneras av ISFORMULA-funktionen, som filtrerar bort alla värden som genereras med en formel.

Intressanta artiklar...