
Vispārēja formula
=SUMPRODUCT(range*ISFORMULA(range))
Kopsavilkums
Apkopojot tikai formulu rezultātus, varat izmantot funkcijas SUMPRODUCT un ISFORMULA. Parādītajā piemērā formula F6 ir:
=SUMPRODUCT(sales*ISFORMULA(sales))
kur "pārdošana" ir nosauktais diapazons C5: C13, vērtības C5: C9 tiek kodētas cietā veidā, un vērtības C10: C13 tiek ģenerētas ar formulām.
Paskaidrojums
Šī formula izmanto Būla loģiku, lai "filtrētu" skaitļus C slejā, pirms summēt ar funkciju SUMPRODUCT. Novērtējot formulu, nosauktā diapazona "pārdošanas" vērtības tiek izvērstas masīvā:
(925;1038;1105;1210;1250;1313;1379;1448;1520)
Lai filtrētu visas vērtības, kuras nav izveidojusi formula, funkcija ISFORMULA ir izveidot tādu TRUE FALSE masīvu:
=ISFORMULA(sales) =(FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)
Kad šie divi masīvi tiek reizināti viens ar otru, matemātikas darbība TRUE un FALSE vērtības piespiež 1 un 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))
Nulles atceļ rezultātus, kas nav formulas, un SUMPRODUCT summas un atgriež gala rezultātu.
Nevis formulas
Lai apkopotu vērtības, kuras neveido formula, varat pievienot funkciju NOT šādi:
=SUMPRODUCT(sales*NOT(ISFORMULA(sales)))
Šeit funkcija NOT maina funkcijas ISFORMULA atgrieztos TRUE FALSE rezultātus, kas filtrē visas ar formulu ģenerētās vērtības.