
Všeobecný vzorec
=SUMPRODUCT(range*ISFORMULA(range))
Zhrnutie
Ak chcete sčítať výsledky iba zo vzorcov, môžete použiť funkcie SUMPRODUCT a ISFORMULA. V zobrazenom príklade je vzorec v F6:
=SUMPRODUCT(sales*ISFORMULA(sales))
kde „sales“ je pomenovaný rozsah C5: C13, hodnoty v C5: C9 sú pevne zakódované a hodnoty v C10: C13 sa generujú pomocou vzorcov.
Vysvetlenie
Tento vzorec využíva logickú logiku na „filtrovanie“ čísel v stĺpci C pred sčítaním pomocou funkcie SUMPRODUCT. Po vyhodnotení vzorca sa hodnoty v pomenovanom rozsahu „sales“ rozšíria do poľa:
(925;1038;1105;1210;1250;1313;1379;1448;1520)
Ak chcete odfiltrovať všetky hodnoty, ktoré nie sú vytvorené vzorcom, je funkciou ISFORMULA vytvorenie poľa TRUE FALSE hodnôt, ako je táto:
=ISFORMULA(sales) =(FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)
Keď sa tieto dve polia navzájom vynásobia, matematická operácia vynúti hodnoty TRUE a FALSE na 1 a 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))
Nula zruší výsledky, ktoré nie sú vo vzorci, a SUMPRODUCT sčíta a vráti konečný výsledok.
Nie vzorce
Ak chcete sčítať hodnoty, ktoré nie sú vygenerované vzorcom, môžete pridať funkciu NOT takto:
=SUMPRODUCT(sales*NOT(ISFORMULA(sales)))
Tu funkcia NOT obracia výsledky TRUE FALSE vrátené funkciou ISFORMULA, ktorá filtruje všetky hodnoty vygenerované vzorcom.