
Formula generică
=SUMPRODUCT(range*ISFORMULA(range))
rezumat
Pentru a rezuma numai rezultatele din formule, puteți utiliza funcțiile SUMPRODUCT și ISFORMULA. În exemplul prezentat, formula din F6 este:
=SUMPRODUCT(sales*ISFORMULA(sales))
unde „vânzări” este intervalul numit C5: C13, valorile din C5: C9 sunt codificate, iar valorile din C10: C13 sunt generate cu formule.
Explicaţie
Această formulă utilizează logica booleană pentru a „filtra” numerele din coloana C înainte de a însuma cu funcția SUMPRODUCT. Când formula este evaluată, valorile din intervalul numit „vânzări” sunt extinse într-o matrice:
(925;1038;1105;1210;1250;1313;1379;1448;1520)
Pentru a filtra valorile care nu sunt create de o formulă, funcția ISFORMULA este de a crea o matrice de valori ADEVĂRATE FALSE ca aceasta:
=ISFORMULA(sales) =(FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)
Când aceste două matrice sunt înmulțite una cu cealaltă, operația matematică constrânge valorile TRUE și FALSE la 1 și 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))
Zerourile anulează rezultatele non-formule, iar SUMPRODUCT sumează și returnează un rezultat final.
Nu formule
Pentru a însuma valorile care nu sunt generate de o formulă, puteți adăuga funcția NOT astfel:
=SUMPRODUCT(sales*NOT(ISFORMULA(sales)))
Aici, funcția NOT inversează rezultatele TRUE FALSE returnate de funcția ISFORMULA, care filtrează orice valori generate cu o formulă.