Сумма ячеек, основанная на значении ячеек справа и выше - PullRequest
1 голос
/ 23 января 2020

Example of my working sheet

Y3 (общий прогноз) = сумма всех фактических данных за месяцы, в которых есть фактические данные + сумма всех прогнозов за оставшиеся месяцы, в которых еще нет фактических данных.

В настоящее время я использую эту формулу: Y3

=SUMIF(A2:H2, Z2, A3:H3)+SUMIF(I2:X2, Y2, I3:X3)

Это работает. Но я должен вручную обновлять формулу каждый месяц, когда фактические затраты входят. Поэтому я хочу настроить формулу, которая динамически изменяет сумму, когда ячейка ссылается на «Фактический», не пустой.

У меня есть попробовал СУММУ с СМЕЩЕНИЕМ, НЕПРЯМОЙ и АДРЕС. Пока у меня ничего не работает.

Ответы [ 2 ]

1 голос
/ 23 января 2020

используется в Y3 ячейке:

=ARRAYFORMULA(SUM(FILTER(A3:X3, A2:X2="actual"),
 INDIRECT(ADDRESS(3, MIN(IF(A3:X3="", COLUMN(A:X)-1, )))&":X3")))

0

0 голосов
/ 23 января 2020

Используйте эту формулу:

=IFERROR(SUM(FILTER(A3:X3,{B3:X3,""}<>"",A2:X2=Y2)),0)

и

=IFERROR(SUM(FILTER(A3:X3,A3:X3<>"",A2:X2=Z2)),0)

Обновление:

=arrayformula(sum(if(A2:X2="Actual",A3:X3,0)+
                  if(A2:X2="Forecast",if({B3:X3,""}="",A3:X3,0),0)))

Это можно изменить с помощью sumif, но я не проверял его

Еще 1:

=arrayformula(sum(A3:X3-if(A2:X2="Forecast",if({B3:X3,""}<>"",A3:X3,0),0)))

Еще 2:

=arrayformula(sum(if (A2:X2="forecast",if({B3:X3,0}="",A3:X3,{B3:X3,0}),0)))
...