
Загальна формула
=SUMPRODUCT(range*ISFORMULA(range))
Резюме
Щоб підсумувати результати лише за формулами, ви можете використовувати функції SUMPRODUCT та ISFORMULA. У наведеному прикладі формула в F6 має вигляд:
=SUMPRODUCT(sales*ISFORMULA(sales))
де "продажі" - це названий діапазон C5: C13, значення в C5: C9 кодовані, а значення в C10: C13 генеруються за формулами.
Пояснення
Ця формула використовує логічну логіку для "фільтрування" чисел у стовпці C перед підсумовуванням за допомогою функції SUMPRODUCT. Коли формула обчислюється, значення в названому діапазоні "продажі" розширюються в масив:
(925;1038;1105;1210;1250;1313;1379;1448;1520)
Щоб відфільтрувати будь-які значення, не створені формулою, функція ISFORMULA полягає у створенні масиву TRUE FALSE значень, як це:
=ISFORMULA(sales) =(FALSE;FALSE;FALSE;FALSE;FALSE;TRUE;TRUE;TRUE;TRUE)
Коли ці два масиви помножені один на одного, математична операція примушує значення TRUE і FALSE до 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 підсумовує та повертає кінцевий результат.
Не формули
Щоб підсумувати значення, не сформовані формулою, ви можете додати функцію NOT так:
=SUMPRODUCT(sales*NOT(ISFORMULA(sales)))
Тут функція NOT повертає результати TRUE FALSE, повернені функцією ISFORMULA, яка фільтрує будь-які значення, згенеровані за допомогою формули.