
Я знаю, что это, вероятно, очень простой вопрос, но я понятия не имею, как сформулировать его в Google, чтобы я мог выяснить это самостоятельно. У меня есть таблица в Excel, которая по сути является списком покупок:
Apples--------$1.00
Bananas-----$2.25
Carrots-------$1.75...
Мне нужно знать, как создать текущий промежуточный итог в следующем столбце, который скажет мне, какова будет общая сумма после добавления каждого элемента. Что сделает электронную таблицу теперь такой:
Apples--------$1.00--------$1.00
Bananas-----$2.25--------$3.25
Carrots-------$1.75--------$5.00...
В конце концов, я бынравитьсячтобы иметь возможность просто добавить новый товар и цену и заставить его самостоятельно рассчитать текущий промежуточный итог, но я бы согласился на то, чтобы он просто мог обрабатывать существующий список, как я показал. Есть идеи, как это сделать?
решение1
Простой способ сделать это — использовать SUM
формулу с абсолютным начальным адресом, но конечным адресом, который изменяется по мере копирования формулы с расширением ряда.
Предполагая, что цены находятся в столбце B
и что они начинаются с B1
, поместите =SUM($B$1:B1)
в первую ячейку столбца промежуточной суммы. Затем выберите ячейку так, чтобы вы увидели захват в ее нижнем правом углу. Возьмите его и перетащите вниз, пока в столбце промежуточной суммы не будет столько же записей, сколько в столбце цены товара.
Excel автоматически скорректирует формулу так, чтобы она суммировала от верхней части столбца цены товара до того же уровня, что и текущая ячейка в столбце промежуточного итога. Знаки доллара в формуле не позволяют скорректировать начальную ячейку при расширении ряда путем перетаскивания, но конечная ячейка автоматически корректируется, поскольку в ее адресе нет знаков доллара (это относительный адрес).
решение2
Отличный ответ BenN, вероятно, показывает, как бы я справился с этой проблемой, но вот еще одна идея, просто чтобы дать вам структуру, которая может сработать в какой-то другой конкретной ситуации:
Предположим, что цены указаны в столбце B, а текущая сумма — в столбце C: поместите =B1
в первую ячейку столбца текущей суммы,С1. Затем поместите =C1+B2
в ячейкуС2. Это добавляет новое значение к предыдущему текущему итогу. Выберите ячейкуС2так, чтобы вы увидели маленький черный квадратный захват в правом нижнем углу. Возьмите этот квадрат и перетащите вниз, пока в столбце текущей суммы не будет столько же записей, сколько в столбце цены товара. (Двойной щелчок по этому маленькому квадрату также должен автоматически заполниться.)
решение3
Более сложный, но альтернативный способ, с небольшой изюминкой:
АБВГД Цена товара Сумма $2.50 Сумма Яблоки $1.00 2.5 Бананы $2.25 Морковь $1.75
Формула в D1:=SUMPRODUCT(B2:B4;C2:C4)
Вы также можете добавить
=COUNTIF(A:A;"<>")-1
D2, ввести # of items listed
E2 (справа от D2), а затем изменить D1 на:
=СУММПРОИЗВ(ДВУСТ("B2:"&ЯЧЕЙКА("адрес";СМЕЩ(B2;D2-1;0))));ДВУСТ("C2:"&ЯЧЕЙКА("адрес";СМЕЩ(C2;D2-1;0))))
... и обновление списка в конечном итоге будет таким же простым, как ввод элемента, цены и любой суммы.
По мере обновления "# элементов..." цена и сумма в столбцах рядом с новым элементом будут включены в сумму в D1.
Как это работает:
COUNTIF()
в D2 будет сообщать, сколько строк заполнено; то есть: она включает строку заголовка, которая "удаляется" из суммы в -1
конце.
Использование OFFSET()
создаст "ссылку" на ячейку D2 строками ниже B2 (и C2), скорректированную на "-1", чтобы не включать ячейку под последним элементом.
Затем ссылка будет преобразована в текст с помощью, CELL()
так что ее можно будет добавить к "B2:"
с помощью &
...
С созданной текстовой строкой INDIRECT()
создаст то, что SUMPRODUCT()
должно выполнить ее задачу.
Кусочек пирога, не правда ли? ;-)