Способ 1. Формулы
Начнём, для разогрева, с наиболее простого варианта — формул. Если мы имеем на входе небольшую отсортированную по дате таблицу, то для расчёта нарастающего итога в отдельном столбце нам потребуется элементарная формула:
Основная фишка тут в хитром закреплении диапазона внутри функции СУММ — ссылка на начало диапазона делается абсолютной (со знаками доллара), а на конец — относительной (без долларов). Соответственно, при копировании формулы вниз на весь столбец мы получаем растягивающийся диапазон, сумму которого и считаем.
Минусы такого подхода очевидны:
- Таблица обязательно должна быть отсортирована по дате.
- При добавлении новых строк с данными формулу придётся допротягивать вручную.
Способ 2. Сводная таблица
Этот способ чуть сложнее, но гораздо приятнее. Причём для усугубления давайте рассмотрим задачку посерьезнее — таблицу из 2000 строк с данными, где по столбцу даты нет сортировки, зато есть повторы (т.е. мы можем несколько раз продать в один и тот же день):
Конвертируем нашу исходную таблицу в «умную» (динамическую) сочетанием клавиш Ctrl+T или командой Главная — Форматировать как таблицу (Home — Format as Table), а затем строим по ней сводную таблицу командой Вставка — Сводная таблица (Insert — Pivot Table). В область строк в сводной закидываем дату, а в область значений — число проданных товаров:
Обратите внимание, что если у вас не совсем старая версия Excel, то даты автоматически сгруппируются по годам, кварталам и месяцам. Если вам нужна другая группировка (или она совсем не нужна), то это можно исправить, щёлкнув правой кнопкой мыши по любой дате и выбрав команды Группировать / Разгруппировать (Group / Ungroup).
Если хочется видеть одновременно и получившиеся итоги по периодам и нарастающий итог в отдельном столбце, то имеет смысл закинуть в область значений поле Продано ещё раз, чтобы получить дубликат поля — в нём мы и включим отображение нарастающих итогов. Для этого щёлкните правой кнопкой мыши по полю и выберите команду Дополнительные вычисления — Нарастающий итог (Show Values as — Running Totals):
Там же можно выбрать и вариант нарастающих итогов в процентах, а в следующем окне нужно выбрать поле, по которому пойдет накопление — в нашем случае это поле даты:
Плюсы такого подхода:
- Быстро считается большой объем данных.
- Не нужно вводить вручную никаких формул.
- При изменении в исходных данных достаточно обновить сводную правой кнопкой мыши или командой Данные — Обновить всё (Data — Refresh All).
Минусы же вытекают из того, что это сводная, а значит вытворять в ней всё, что вздумается (вставлять строки, писать формулы, строить любые диаграммы и т.д.) уже не получится.
Способ 3. Запрос Power Query
Загрузим нашу «умную» таблицу с исходными данными в редактор запросов Power Query, используя команду Данные — Из таблицы / диапазона (Data — From Table/Range). В последних версиях Excel её, кстати, переименовали — теперь она называется С листа (From Sheet):
Затем выполним следующие шаги:
1. Отсортируем таблицу по возрастанию по столбцу даты командой Сортировать по возрастанию в выпадающем списке фильтра в шапке таблицы.
2. Чуть позже для подсчета нарастающего итога нам потребуется вспомогательный столбец с порядковым номером строки. Добавим его командой Добавление столбца — Столбец индекса — От 1 (Add column — Index column — From 1).
3. Также для подсчёта нарастающего итога нам потребуется ссылка на столбец Продано, где лежат наши суммируемые данные. В Power Query столбцы ещё называются списками (list) и чтобы получить ссылку на него, щёлкнем правой кнопкой мыши по заголовку столбца и выберем команду Детализация (Show detail). В строке формул появится нужное нам выражение, состоящее из имени предыдущего шага #»Добавлен индекс», откуда мы берём таблицу и имени столбца [Продано] из этой таблицы в квадратных скобках:
Копируем это выражение в буфер для дальнейшего использования.
4. Удаляем ненужный более последний шаг Продано и добавляем вместо него вычисляемый столбец для подсчета нарастающего итога командой Добавление столбца — Настраиваемый столбец (Add column — Custom column). Нужная нам формула будет выглядеть так:
Здесь функция List.Range берёт исходный список (столбец [Продано]) и извлекает из него элементы, начиная с первого (в формуле это 0, т.к. нумерация в Power Query начинается с нуля). Количество извлекаемых элементов — это номер строки, который мы берём из столбца [Индекс]. Таким образом, эта функция для первой строки возвращает только одну первую ячейку столбца Продано. Для второй строки — уже первых две ячейки, для третьей — первых три и т.д.
Ну, а затем функция List.Sum суммирует извлечённые значения и мы получаем в каждой строке сумму всех предыдущих элементов, т.е. нарастающий итог:
Осталось удалить ненужный нам больше столбец Индекс и выгрузить результаты обратно в Excel командой Главная — Закрыть и загрузить (Home — Close&Load to).
Задача решена.
Форсаж
В принципе, на этом можно было бы и остановиться, но есть небольшая ложка дёгтя — созданный нами запрос работает со скоростью черепахи. Для примера, на моем не самом слабом ПК таблица всего в 2000 строк обрабатывается 17 секунд. А если данных будет больше?
Для ускорения можно использовать буферизацию при помощи специальной функции List.Buffer, которая загружает заданный ей в качестве аргумента список (list) в оперативную память, что сильно ускоряет обращение к нему в дальнейшем. В нашем случае имеет смысл буферизовать список #»Добавлен индекс»[Продано], к которому Power Query вынужден обращаться при расчёте нарастающего итога в каждой строке нашей 2000-строчной таблицы.
Для этого в редакторе Power Query на Главной вкладке жмём кнопку Расширенный редактор (Home — Advanced Editor), чтобы открыть исходный код нашего запроса на встроенном в Power Query языке М:
А затем добавляем туда строку с переменной MyList, значение которой возвращает функция буферизации и подменяем на следующем шаге обращение к списку на эту переменную:
После внесения таких изменений наш запрос станет существенно резвее и справится с 2000-строчной таблицей всего за 0.3 секунды!
Другое дело, правда?
Ссылки по теме
- Диаграмма Парето (80/20) и как построить её в Excel
- Поиск ключевых слов в тексте и буферизация запроса в Power Query
Автор Владислав Каманин На чтение 1 мин
А вы знаете как в таблице Excel быстро посчитать нарастающий итог?
В первой ячейке диапазона составим формулу с функцией СУММ() в которой границы диапазона будут состоять из одной и той же ячейки.
Но! Первую ссылку на ячейку мы зафиксируем, а вторую оставим абсолютной.
Больше лайфхаков в нашем Telegram Подписаться
Так, при протягивании формулы на соседние ячейки диапазон будет расширяться.
Протянем формулу вниз.
Нарастающий итог готов.
Почитайте еще
Новички в Excel часто спрашивают: «Как посчитать цену
А вы умеете рассчитывать общий итог в таблице Excel
Это простой, но полезный совет по вычитанию процента
А вы так считаете итоги в таблицах Excel?
Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Еще…Меньше
Порой вычисление процентов может вызвать затруднения, так как не всегда легко можно вспомнить то, чему нас учили в школе. Позвольте Excel сделать эту работу за вас — простые формулы могут помочь найти, например, процентную долю итогового значения или разность двух чисел в процентах.
Вычисление процентной доли итогового значения
Предположим, что при выполнении теста вы правильно ответили на 42 вопроса из 50. Каков процент правильных ответов?
-
Щелкните любую пустую ячейку.
-
Введите формулу =42/50 и нажмите клавишу RETURN.
Результат — 0,84.
-
Выделите ячейку с результатом, полученным на шаге 2.
-
На вкладке Главная нажмите кнопку
.
Результат составляет 84,00 %, то есть процент правильных ответов в тесте.
Примечание: Чтобы изменить количество десятичных заметок в результате, нажмите кнопку Увеличить число десятичных
Или Уменьшить десятичность
.
Вычисление разности двух чисел в процентах
Предположим, что ваша заработная плата составила 23 420 рублей в ноябре и 25 000 рублей в декабре. На сколько процентов изменилась ваша заработная плата в декабре по сравнению с ноябрем? Затем, если в январе вы заработали 24 250 рублей, то на сколько процентов это отличается от декабря? Можно вычислить разность, вычтя новую зарплату из предыдущей, а затем разделить результат на сумму предыдущей зарплаты.
Вычисление процента увеличения
-
Щелкните любую пустую ячейку.
-
Введите формулу =(25000-23420)/23420 и нажмите клавишу RETURN.
Результат — 0,06746.
-
Выделите ячейку с результатом, полученным на шаге 2.
-
На вкладке Главная нажмите кнопку
.
Результат — 6,75 %, то есть процент увеличения заработной платы.
Примечание: Чтобы изменить количество десятичных заметок в результате, нажмите кнопку Увеличить число десятичных
Или Уменьшить десятичность
.
Вычисление процента уменьшения
-
Щелкните любую пустую ячейку.
-
Введите формулу =(2425-2500)/2500 и нажмите клавишу RETURN.
Результат — -0,03000.
-
Выделите ячейку с результатом, полученным на шаге 2.
-
На вкладке Главная нажмите кнопку
.
Результат — -3,00 %, то есть процент уменьшения заработной платы.
Примечание: Чтобы изменить количество десятичных заметок в результате, нажмите кнопку Увеличить число десятичных
Или Уменьшить десятичность
.
Поиск итога при известной сумме и проценте
Предположим, что цена продажи футболки составляет 15 долларов США, что на 25 % меньше исходной цены. Какова исходная цена? В этом примере нужно найти 75 %, из которых число равно 15.
-
Щелкните любую пустую ячейку.
-
Введите формулу =15/0,75 и нажмите клавишу RETURN.
Результат — 20.
-
Выделите ячейку с результатом, полученным на шаге 2.
-
В более новых версиях:
На вкладке Главная нажмите кнопку
.
Результат теперь равен $20,00. Это и есть исходная цена рубашки.
В Excel для Mac 2011 г.:
На вкладке Главная в области Числонажмите кнопку Валюта
Результат теперь равен $20,00. Это и есть исходная цена рубашки.
Примечание: Чтобы изменить количество десятичных заметок в результате, нажмите кнопку Увеличить число десятичных
Или Уменьшить десятичность
.
Поиск суммы, если вы знаете итог и процент
Предположим, что вы хотите приобрести компьютер за 800 рублей и оплатить дополнительные 8,9 % налога с продаж. Сколько нужно платить за налог с продаж? В этом примере нужно найти 8,9 % от 800.
-
Щелкните любую пустую ячейку.
-
Введите =800*0,089и нажмите return.
Результат — 71,2.
-
Выделите ячейку с результатом, полученным на шаге 2.
-
В более новых версиях:
На вкладке Главная нажмите кнопку
.
В Excel для Mac 2011 г.:
На вкладке Главная в области Числонажмите кнопку Валюта
Результат теперь равен $71,20. Это и есть сумма налога, которую нужно уплатить при покупке компьютера.
Примечание: Чтобы изменить количество десятичных заметок в результате, нажмите кнопку Увеличить число десятичных
Или Уменьшить десятичность
.
Увеличение или уменьшение числа на заданное количество процентов
Предположим, что вы тратите на питание в среднем 113 долларов США в неделю и хотите увеличить еженедельные расходы на питание на 25 %. Сколько вы можете потратить? Или, если вы хотите уменьшить недельный размер питания в 113 долларов США на 25 %, каков ваш новый недельный размер?
Увеличение числа на заданное количество процентов
-
Щелкните любую пустую ячейку.
-
Введите формулу =113*(1+0,25) и нажмите клавишу RETURN.
Результат — 141,25.
-
Выделите ячейку с результатом, полученным на шаге 2.
-
В более новых версиях:
На вкладке Главная нажмите кнопку
.
В Excel для Mac 2011 г.:
На вкладке Главная в области Числонажмите кнопку Валюта
Теперь результат равен $141,25. Именно такую сумму можно тратить на питание каждую неделю с учетом повышения на 25 %.
Примечание: Чтобы изменить количество десятичных заметок в результате, нажмите кнопку Увеличить число десятичных
Или Уменьшить десятичность
.
Уменьшение числа на заданное количество процентов
-
Щелкните любую пустую ячейку.
-
Введите формулу =113*(1-0,25) и нажмите клавишу RETURN.
Результат — 84,75.
-
Выделите ячейку с результатом, полученным на шаге 2.
-
В более новых версиях:
На вкладке Главная нажмите кнопку
.
В Excel для Mac 2011 г.:
На вкладке Главная в области Числонажмите кнопку Валюта
Теперь результат равен $84,75. Именно такую сумму можно тратить на питание каждую неделю с учетом уменьшения на 25 %.
Примечание: Чтобы изменить количество десятичных заметок в результате, нажмите кнопку Увеличить число десятичных
Или Уменьшить десятичность
.
См. также
ПРОЦЕНТРАНГ
Расчет суммы с нарастающим итогом
Расчет среднего значения
Нужна дополнительная помощь?
Используем смешанную алресацию для для создания столбца с суммированием нарастающим итогом.
Пусть дана таблица продаж товара по месяцам (см.
файл примера
).
В соседнем столбце будем суммировать продажи нарастающим итогом. Для этого в ячейке
С2
введем формулу
=СУММ($B$2:B2)
и скопируем ее вниз
Маркером заполнения
. Обратите внимание, что в формуле использована
абсолютная и относительная адресация
.
При копировании формулы в ячейки ниже первая ссылка на ячейку
B2
не изменяется, т.к. она введена с помощью абсолютной адресации
$B$2
. Т.к. копирование ведется только в нижние ячейки, то достаточно было написать знак $ только перед номером строки, т.е. B$2. Напротив, вторая ссылка на ячейку
B2
при копировании формулы внизменяется, т.к. она введена с помощью относительной адресации
B2
.
В итоге, при копировании формулы из
С2
в ячейку
С3
формула примет вид
=СУММ($B$2:B3)
, а в
С8
она будет
=СУММ($B$2:B8)
Как сказано выше, формула
=СУММ(B$2:B2)
также будет работать.
Автор Дмитрий Якушев На чтение 1 мин. Просмотров 4.5k.
=СУММ($C$5:C6)
Обычная сумма суммирует все ячейки в заданном диапазоне. Но иногда нужно, чтобы в каждой следующей ячейке была сумма предыдущих и еще одной. В этом нам поможет абсолютная ссылка $C$6. В результате при копировании диапазона он будет расширяться, а первое значение останется неизменным:
=СУММ($C$6:C6)//формула D6
=СУММ($C$6:C7)// формула D7
=СУММ($C$6:C8)// формула D8
Вам также может понравиться
Эта функция помогает подвести промежуточные итоги по
06.8k.
Сумма наименьших N значений =СУММПРОИЗВ(НАИМЕНЬШИЙ(rng;
04.8k.
= СУММЕСЛИМН( значения ; Диапазон_Значений ;
027.8k.
Сумма всего столбца =СУММ( A:А ) Если вы хотите, просуммировать
05.9k.
Ячейка начинается с определенного значения =СУММЕСЛИ(диапазон;
025.9k.
Сумма, если ячейки содержат звездочку =СУММЕСЛИ(диапазон;
036.5k.
Сумма, если Дата находится между двумя датами =СУММЕСЛИМН(сумма;
031.7k.
Сумма, если больше чем =СУММЕСЛИ( диапазон ;
020.2k.