
Генеричка формула
=SUMPRODUCT(range*ISFORMULA(range))
Резиме
Да бисте сумирали резултате само из формула, можете користити функције СУМПРОДУЦТ и ИСФОРМУЛА. У приказаном примеру, формула у Ф6 је:
=SUMPRODUCT(sales*ISFORMULA(sales))
где је „продаја“ именовани опсег Ц5: Ц13, вредности у Ц5: Ц9 су кодиране, а вредности у Ц10: Ц13 генеришу се помоћу формула.
Објашњење
Ова формула користи логичку логику за „филтрирање“ бројева у колони Ц пре сумирања помоћу функције СУМПРОДУЦТ. Када се формула процени, вредности у именованом опсегу „продаја“ проширују се у низ:
(925;1038;1105;1210;1250;1313;1379;1448;1520)
Да би се филтрирале вредности које нису креиране формулом, функција ИСФОРМУЛА треба да креира низ ТРУЕ ФАЛСЕ вредности попут ове:
=ISFORMULA(sales) =(FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)
Када се ова два низа помноже, математичка операција присиљава вредности ТРУЕ и ФАЛСЕ на 1 и 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))
Нуле поништавају резултате који нису формуле, а СУМПРОДУЦТ збраја и враћа коначни резултат.
Не формуле
Да бисте сумирали вредности које није генерисала формула, можете додати функцију НОТ на следећи начин:
=SUMPRODUCT(sales*NOT(ISFORMULA(sales)))
Овде функција НОТ поништава ТРУЕ ФАЛСЕ резултате које враћа функција ИСФОРМУЛА, која филтрира све вредности генерисане формулом.