
Общая формула
=SUM(INDEX((column),1):(@column))
Резюме
Чтобы создать промежуточную сумму в таблице Excel, вы можете использовать функцию ИНДЕКС, настроенную со структурированной ссылкой. В показанном примере формула в F5:
=SUM(INDEX((Total),1):(@Total))
При копировании в столбец эта формула будет возвращать промежуточную сумму в каждой строке.
Объяснение
По сути, эта формула имеет такую простую схему:
=SUM(first:current)
Где «первая» - это первая ячейка в столбце «Итого», а «текущая» - это ссылка на ячейку в текущей строке столбца «Итого».
Чтобы получить ссылку на первую ячейку, мы используем ИНДЕКС следующим образом:
INDEX((Total),1)
Здесь массив представляет собой весь столбец «Итого», а номер строки равен 1. Это работает, потому что функция ИНДЕКС возвращает ссылку на первую ячейку, а не фактическое значение.
Чтобы получить ссылку на текущую строку, мы используем:
(@Total)
Это стандартный синтаксис структурированной ссылки для «этой строки».
Поскольку формула копируется вниз по столбцу, ссылка на первую ячейку не изменяется, но ссылка на текущую ячейку изменяется в каждой строке. Результатом является ссылка, которая расширяется. Функция СУММ суммирует значения в диапазоне в каждой строке, создавая промежуточную сумму.
Простое расширение ассортимента
Почему бы не использовать такой простой расширяющийся диапазон?
=SUM($E$5:E5)
По какой-то причине такая смешанная ссылка повреждается в таблице Excel при добавлении строк. Использование INDEX со структурированной ссылкой решает проблему.