Excel-formule: alleen somformules -

Generieke formule

=SUMPRODUCT(range*ISFORMULA(range))

Samenvatting

Als u alleen resultaten van formules wilt optellen, kunt u de functies SOMPRODUCT en ISFORMULA gebruiken. In het getoonde voorbeeld is de formule in F6:

=SUMPRODUCT(sales*ISFORMULA(sales))

waar "sales" het benoemde bereik C5: C13 is, waarden in C5: C9 zijn hard gecodeerd en waarden in C10: C13 worden gegenereerd met formules.

Uitleg

Deze formule gebruikt booleaanse logica om de getallen in kolom C te "filteren" voordat ze worden opgeteld met de functie SOMPRODUCT. Wanneer de formule wordt geëvalueerd, worden waarden in het benoemde bereik "verkoop" uitgebreid tot een matrix:

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

Om waarden uit te filteren die niet door een formule zijn gemaakt, is de functie ISFORMULA het maken van een array van TRUE FALSE-waarden als volgt:

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

Wanneer deze twee arrays met elkaar worden vermenigvuldigd, dwingt de wiskundige bewerking de WAAR en ONWAAR waarden naar enen en nullen:

=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))

De nullen heffen niet-formuleresultaten op, en SOMPRODUCT telt op en retourneert een eindresultaat.

Geen formules

Om waarden op te tellen die niet door een formule zijn gegenereerd, kunt u de functie NOT als volgt toevoegen:

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

Hier keert de NIET-functie de TRUE FALSE-resultaten om die worden geretourneerd door de ISFORMULA-functie, die alle waarden filtert die zijn gegenereerd met een formule.

Interessante artikelen...