
Üldine valem
=SUMPRODUCT(range*ISFORMULA(range))
Kokkuvõte
Ainult valemite tulemuste summeerimiseks võite kasutada funktsioone SUMPRODUCT ja ISFORMULA. Näidatud näites on valem F6-s järgmine:
=SUMPRODUCT(sales*ISFORMULA(sales))
kus "müük" on nimega vahemik C5: C13, on väärtused C5: C9 kõvakodeeritud ja väärtused C10: C13 genereeritakse valemitega.
Selgitus
Selles valemis kasutatakse veerus C olevate numbrite "filtreerimiseks" logoloogikat enne summeerimist funktsiooniga SUMPRODUCT. Valemi hindamisel laiendatakse nimega vahemikus "müük" olevad väärtused massiiviks:
(925;1038;1105;1210;1250;1313;1379;1448;1520)
Väärtuste, mida valem ei loo, välja filtreerimiseks on funktsioon ISFORMULA selleks, et luua massiivi TRUE FALSE väärtusi järgmiselt:
=ISFORMULA(sales) =(FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)
Kui need kaks massiivi korrutatakse üksteisega, sunnib matemaatikaoperatsioon TRUE ja FALSE väärtused 1-le ja 0-le:
=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))
Nullid tühistavad valemivälised tulemused ning SUMPRODUCT summeerib ja tagastab lõpptulemuse.
Mitte valemid
Valemite genereerimata väärtuste summeerimiseks võite lisada funktsiooni EI niimoodi:
=SUMPRODUCT(sales*NOT(ISFORMULA(sales)))
Siin pöörab funktsioon NOT ümber funktsiooni ISFORMULA tagastatud TÕELISED VALE tulemused, mis filtreerib kõik valemiga loodud väärtused.