
Bendroji formulė
=SUMPRODUCT(range*ISFORMULA(range))
Santrauka
Apibendrinant tik formulių rezultatus, galite naudoti funkcijas SUMPRODUCT ir ISFORMULA. Parodytame pavyzdyje formulė F6 yra:
=SUMPRODUCT(sales*ISFORMULA(sales))
kur „pardavimai“ yra įvardytas diapazonas C5: C13, vertės C5: C9 yra koduojamos kietuoju kodu, o vertės C10: C13 generuojamos pagal formules.
Paaiškinimas
Ši formulė, naudodama loginę logiką, „filtruoja“ skaičius C stulpelyje, prieš susumuodama su funkcija SUMPRODUCT. Įvertinus formulę, pavadinto diapazono „pardavimai“ reikšmės išplečiamos į masyvą:
(925;1038;1105;1210;1250;1313;1379;1448;1520)
Norėdami filtruoti bet kokias reikšmes, kurios nėra sukurtos pagal formulę, funkcija ISFORMULA turi sukurti tokių TRUE FALSE reikšmių masyvą:
=ISFORMULA(sales) =(FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)
Kai šie du masyvai padauginami vienas iš kito, matematikos operacija PATIKIMOSIOS ir NETIESOS reikšmes priverčia 1 ir 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))
Nuliai panaikina ne formulės rezultatus, o SUMPRODUCT sumos ir grąžina galutinį rezultatą.
Ne formulės
Norėdami susumuoti reikšmes, kurios nėra sugeneruotos pagal formulę, galite pridėti funkciją NE taip:
=SUMPRODUCT(sales*NOT(ISFORMULA(sales)))
Čia funkcija NE pakeičia ISFORMULA funkcijos grąžintus TIKRUS FALSE rezultatus, kurie filtruoja visas reikšmes, sukurtas pagal formulę.