17 авг. 2022 г.
читать 2 мин
Часто вам может понадобиться суммировать значения некоторого набора данных в Excel на основе месяца.
Например, предположим, что у нас есть следующий набор данных, и мы хотели бы просуммировать общий объем продаж по месяцам:
В следующем пошаговом примере показано, как это сделать.
Шаг 1: введите данные
Сначала введите значения данных в Excel:
Шаг 2: извлеките месяц из дат
Далее нам нужно использовать функцию =МЕСЯЦ() для извлечения месяца из каждой даты.
В нашем примере мы введем следующую формулу в ячейку D2 :
=MONTH( A2 )
Затем мы перетащим и заполним эту формулу в каждую оставшуюся ячейку в столбце D:
Шаг 3: Найдите уникальные месяцы
Затем нам нужно использовать функцию =UNIQUE() для создания списка уникальных месяцев.
В нашем примере мы введем следующую формулу в ячейку F2 :
=UNIQUE( D2:D10 )
Это создаст список уникальных месяцев:
Шаг 4: Найдите сумму по месяцам
Далее мы будем использовать функцию СУММЕСЛИ(диапазон, критерий, диапазон_суммы) , чтобы найти сумму продаж, сделанных в течение каждого месяца.
В нашем примере мы введем следующую формулу в ячейку G2 :
=SUMIF( $D$2:$D$10 , F2 , $B$2:$B$10 )
Затем мы перетащим и заполним эту формулу в оставшиеся ячейки в столбце G:
Это говорит нам:
- В январе было совершено 117 продаж.
- Всего в феврале было совершено 50 продаж.
- Всего в марте было совершено 111 продаж.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в Excel:
Как рассчитать сводку из пяти чисел в Excel
Как суммировать несколько листов в Excel
Как считать по группам в Excel
Написано
Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.
На чтение 5 мин. Просмотров 27.7k.
= СУММЕСЛИМН( значения ; Диапазон_Значений ; «> =» & A1 ; Диапазон_Значений; «<=» & КОНМЕСЯЦА( A1 ; 0 ))
Эта функция поможет подвести итоги по месяцу при помощи функции КОНМЕСЯЦА. В примере формула выглядит так:
=СУММЕСЛИМН(C4:C9;B4:B9; «>=» & E4; B4:B9; «<=» &КОНМЕСЯЦА( E4; 0 ))
Функция СУММЕСЛИМН может суммировать диапазоны на основе нескольких критериев.
В этом случае мы устанавливаем СУММЕСЛИМН суммировать суммы по месяцам , используя два критерия: один для соответствующей даты больше или равной первому дню месяца, второй, для соответствующей даты меньше или равной последнему дню месяца. Другими словами, нам нужна формула , как эта:
= СУММЕСЛИМН( сумма ; дата ; «> =» & «1/1/2016» ; дата ; «<=» & «1/31/2016» )
Более безопасная альтернатива
=СУММЕСЛИМН ( сумма ; дата ; «> =» & ДАТА ( 2016 ; 1 ; 1 ); дата ; «<=» & ДАТА ( 2016 ; 1 ; 31 ))
Он более безопасен, поскольку сроки построены с отдельными значениями год, месяц и день, а не вводятся как текст, который должен быть интерпретирован Excel).
Как правило, это болезненно, потому что если вы добавляете названия месяцев в виде текста (т.е. «январь», «Февраль», «март» и т.д.) в столбце Е вы должны пойти на лишние хлопоты, чтобы создать даты, которые можно использовать для критериев.
Тем не менее, в данном случае, мы используем простой трюк, чтобы сделать это легко: В колонке Е, вместо того, чтобы печатать названия месяцев, мы добавим фактические даты (1/1/2016, 2/1/2016, 3/1/2016), затем используем формат дат ( «мммм») для отображения названия месяцев.
Это позволяет легко строить критерии нужных нам для СУММЕСЛИ. Чтобы соответствующая дата была больше или равна первому числу месяца, мы используем:
«> =» & E4
И чтобы соответствующая дата была меньше или равна последнему дню месяца, мы используем:
«<=» &КОНМЕСЯЦА( E4 ; 0 )
Где КОНМЕСЯЦА автоматически возвращается в последний день.
Конъюнкция с операндом (&) необходима при построении критериев, которые использует логический оператор с числовым значением.
Сумма за месяц игнорируя год
=СУММПРОИЗВ (( МЕСЯЦ ( даты ) = месяц ) * количество )
Подводя данные по месяцам, игнорируя год, вы можете использовать формулу, основанную на функциях СУММПРОИЗВ и МЕСЯЦ.
В показанном примере, формула в Н5:
=СУММПРОИЗВ((МЕСЯЦ(B4:B19)=3)*E4:E19)
В результате получится сумма всех продаж в марте, независимо от года.
Внутри функции СУММПРОИЗВ, функция МЕСЯЦ используется для извлечения номера месяца для каждой даты в наборе данных. Сокращенный вариант результата массива выглядит следующим образом:
{ 1 ; 1 ; 1 ; 2 ; 2 ; 2 ; 3 ; 3 ; 3 }
Каждое значение сравнивается с 3 (номер месяца март), чтобы получить результат, как этот:
{ ЛОЖЬ ; ЛОЖЬ ; ЛОЖЬ ; ЛОЖЬ ; ЛОЖЬ ; ЛОЖЬ ; ИСТИНА ; ИСТИНА ; ИСТИНА }
Этот массив затем умножается на значения суммы, ассоциированных с каждой датой марта. Арифметическая операция изменяет ИСТИНА/ЛОЖЬ значения в единицы и нули, поэтому операция выглядит примерно так:
{ 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 1 ; 1 ; 1 } * { 100 ; 100 ; 100 ; 100 ; 100 ; 100 ; 100 ; 100 ; 100 }
Где 100 это просто заполнитель на любую сумму. В результате получится один массив следующим образом:
{ 0 ; 0 ; 0 ; 0 ; 0 ; 0 ; 100 ; 100 ; 100 }
Обратите внимание, что только «выжившие« суммы связаны с мартом, а остальные равны нулю.
СУММПРОИЗВ затем суммирует элементы в массиве и рассчитывает результат, 300 в сокращенном примере выше.
Среднее значение по месяцам
=СРЗНАЧЕСЛИМН( значения ; даты ; «> =» & A1 ; даты ; «<=» & КОНМЕСЯЦА( A1 ))
Чтобы высчитать среднее за месяц, вы можете использовать формулу, основанную на функции СРЗНАЧЕСЛИМН, с помощью функции КОНМЕСЯЦА.
В показанном примере, формула в F4 является:
=СРЗНАЧЕСЛИМН(D5:D12;C5:C12;»>=F5″;C5:C12;»»<=КОНМЕСЯЦА(F5;0))
Функция СРЗНАЧЕСЛИМН может находить среднее в диапазонах на основе нескольких критериев. В этом случае мы устанавливаем СРЗНАЧЕСЛИМН составлять среднее по месяцам , используя два критерия: (1) дата больше или равна первому дню месяца, (2) дата меньше или равна последнему дню месяца. Если мы жестко закодируем даты в январе 2016 года в формулу с использованием функции ДАТА, она будет выглядеть следующим образом:
=СРЗНАЧЕСЛИМН( суммы ; сроки ; «> =» & ДАТА ( 2016 ; 1 ; 1 ); даты ; «<=» & ДАТА ( 2016 ; 1 ; 31 ))
Кодирование дат
Но мы не хотим, чтобы даты жестко кодировались, мы хотим, чтобы Excel создал эти даты для нас. Как правило, это сложно, потому что если вы добавляете названия месяцев в виде текста (т.е. «январь», «февраль», «март» и т.д.) в столбце Е вы должны пойти на лишние хлопоты, чтобы создать даты, которые можно использовать для критериев,
Тем не менее, в данном случае, мы используем простой трюк, чтобы сделать вещи проще: в колонке Е, вместо того, чтобы печатать названия месяцев, мы добавим фактические даты для первого числа каждого месяца (1/1/2016, 2/1/2016, 3 / 1/2016, и т.д.), а также используем пользовательский формат даты ( «МММ») для отображения названия месяцев.
Это позволяет легко строить критерии, нужные нам для СРЗНАЧЕСЛИМН. Чтобы соответствующие даты были больше или равны первому числу месяца, мы используем:
«> =» & E4
И чтобы соответствующие даты были меньше или равны последнему дню месяца, мы используем:
«<=» & КОНМЕСЯЦА( E4 ; 0 )
КОНМЕСЯЦА автоматически возвращается в последний день того же месяца, потому что мы поставляем ноль для месяца аргумента.
Примечание: конъюнкция с операндом (&) необходима при построении критериев на основе ссылки на ячейку.
Но мы не хотим, чтобы даты жестко кодировались, мы хотим, чтобы Excel создал эти даты для нас. Как правило, это сложно, потому что если вы добавляете названия месяцев в виде текста (т.е. «январь», «февраль», «март» и т.д.) в столбце Е вы должны пойти на лишние хлопоты, чтобы создать даты, которые можно использовать для критериев,
Тем не менее, в данном случае, мы используем простой трюк, чтобы сделать вещи проще: в колонке Е, вместо того, чтобы печатать названия месяцев, мы добавим фактические даты для первого числа каждого месяца (1/1/2016, 2/1/2016, 3 / 1/2016, и т.д.), а также используем пользовательский формат даты ( «МММ») для отображения названия месяцев.
Это позволяет легко строить критерии, нужные нам для СРЗНАЧЕСЛИМН. Чтобы соответствующие даты были больше или равны первому числу месяца, мы используем:
Просмотров:
9 296
Разберем простой пример, как посчитать сумму за месяц. В принципе это довольно часто возникающая задача, и решить ее можно простой формулой.
Что хотим получить
В данном примере, у нас есть определенный диапазон дат (B3:B11) и соответствующие этим датам значения (С3:С11). В ячейках F3:F5 мы хотим получить суммы за месяц из диапазона.
Для этого используем функцию «СУММЕСЛИМН», данная функция суммирует значения из указанного диапазона, для которых выполняются несколько условий. Для нашей задачи таким условием будет определение диапазона от начала до конца месяца. Для упрощения сделаем так что задать в диапазоне необходимо только начальную дату, то есть первое число месяца, а дату окончания месяца получим из функции «КОНЕЦМЕСЯЦА».
Формула
Введем в ячейку F3, такую формулу:
=СУММЕСЛИМН(C3:C11;B3:B11;»>=»&E3;B3:B11;»<=»&КОНМЕСЯЦА(E3;0))
Разберемся, что мы ввели
С3:С11 – диапазон, из которого будут браться значения для суммирования.
B3:B11;»>=»&E3 – первое условие, определяющее, что значение из диапазона В3:В11 должно быть больше или равно значению в ячейке Е3. Так как в ячейке Е3 указана дата начала месяца, то этим условием определяем нижнюю границу диапазона дат.
«<=»&КОНМЕСЯЦА(E3;0) – второе условие указывающее верхнюю границу диапазона дат. Значение должно быть меньше или равно чем результат выполнения функции «КОНЕЦМЕСЯЦА», датой для которой является первый день месяца из ячейки Е3.
Таким образом, мы определили функцию просматривающую диапазон дат и проверяющую входит ли текущее значение ячейки в диапазон дат определенных условием, если значение входит, то оно суммируется в результат.
Делаем красиво
Наша формула работает правильно, однако не совсем эстетично выглядят значения месяцев, которые фактический представлены числом начала месяца. Более приятно выглядело бы, если вместо числа было просто название месяца. Это легко сделать, определив собственный формат представления значений.
Откроем окно «Формат ячеек» и на вкладке «Число» выберем «(все форматы)». Среди предопределенных форматов есть один формат более – менее нам подходящий «МММ.ГГ». В этом формате будет представлено сокращенное название месяца и две последние цифры года.
Что бы не определять свой формат, можно использовать и этот предопределенный формат. Но если в таблице данных содержатся значения только за один год, выводить номер года нет ни какого смысла. Введем в поле «Тип» собственный формат «ММММ» — четыре большие буквы М. После чего наши ячейки примут вид:
Содержание
- Как работает функция СУММЕСЛИМН?
- Формула для суммирования значений между двумя датами
- Как работает эта формула
- Как суммировать значения между двумя динамическими датами
- Как работает эта формула
- Сумма за месяц игнорируя год
- Среднее значение по месяцам
Давайте представим, что мы работаем в торговой компании. Руководитель поставил нам задачу посчитать сумму продаж за последние 15 дней. За конкретный промежуток времени.
Давайте рассмотрим как это сделать.
У нас есть таблица с данными по продажам за каждый день. Для выполнения задачи нам потребуется функция СУММЕСЛИМН.
Как работает функция СУММЕСЛИМН?
Функция СУММЕСЛИМН в Excel используется для суммирования значений по нескольким критериям.
Синтаксис функции выглядит так:
=СУММЕСЛИМН(диапазон_суммирования; диапазон_условия1; условие1; [диапазон_условия2; условие2]; …)
- диапазон_суммирования – это диапазон данных, по которым будут вычисляться условия указанных вами критериев для суммирования данных;
- диапазон_условия1, условие1 – диапазон, в котором проверяется первое условие функции. Criteria_range1 (диапазон_условия1) и criteria1(условие1) составляют пару, определяющую, к какому диапазону применяется определенное условие при поиске. Соответствующие значения найденных в этом диапазоне ячеек суммируются в пределах аргумента sum_range (диапазон_суммирования).
- [диапазон_условия2], условие 2] – (опционально) – второй диапазон критериев, по которым будут вычисляться данные;
Формула для суммирования значений между двумя датами
Итак, как я уже писал выше, у нас есть таблица с данными продаж по каждому дню. Наша задача посчитать сумму продаж за период с 1 июня 2018 по 15 июня 2018 года.
Для суммирования продаж за указанный период нам потребуется в любой свободной ячейке использовать следующую формулу:
После ввода этой формулы, функция вернет значение 559 134₽. Это значение соответствует сумме продаж за период с 1 июня по 15 июня 2018 года.
Для проверки корректности расчета выделите диапазон ячеек с данными продаж, соответствущим этим датам и в правом нижнем углу вы увидите сумму значений.
Как работает эта формула
В нашей формуле мы использовали логические операторы в функции СУММЕСЛИМН , которые помогают нам суммировать данные в указанном диапазоне дат.
Давайте разложим формулу на составные части для понимания ее работы:
- Первым делом мы указываем диапазон с данными продаж (B2:B28), среди которого нам нужно выбрать какие значения мы будем суммировать
- Затем, мы указываем диапазон с данными, к которому будет применяться проверка на соответствие условию. В нашем случае это диапазон с датами (A2:A28)
- Следующим шагом мы задаем условие по отношению к диапазону с датами, по которому формула должна определить какие данные суммировать. Мы указали первое условие, что дата должна быть больше или равна 01.06.2018
- Заключительным шагом мы задаем второе условие к диапазону с датами (A2:A28), по которому формула должна суммировать данные за период меньший или равный 15.06.2018
Как результат, функция суммирует значения в диапазоне с 1 по 15 июня 2018 года.
Как суммировать значения между двумя динамическими датами
На примере выше мы рассмотрели как суммировать данные между двумя конкретными датами. Но что, если мы хотим суммировать данные, например, за последние 7 дней на ту дату, в которую мы открыли файл? Если мы не хотим каждый раз проставлять в формулу конкретные даты?
В этом случае нам поможет следующая формула:
Как работает эта формула
В формуле, указанной выше, мы используем функцию СЕГОДНЯ для автоматического вычисления текущей даты.
Здесь, в первом критерии для вычисления нужной даты мы указываем функции условие, при котором нужно суммировать данные за период равный или меньше текущей даты.
Во втором критерии мы указываем функции, что нужно суммировать данные больше или равные текущей дате минус 6 дней.
Таким образом, диапазон двух дат в формуле теперь выглядит как: “Посчитай данные за период с сегодняшнего дня, до минус 6 дней от сегодняшнего дня”.
Если у вас остались вопросы по этому примеру оставляйте их в комментариях.
Формула работает прекрасно. Спасибо. Ваши примеры значительно облегчают работу. Хотелось бы узнать, каким образом возможно производить одновременно отборку по диапазону и видам товара, проданного в этот период?
= СУММЕСЛИМН( значения ; Диапазон_Значений ; «> =» & A1 ; Диапазон_Значений; «
Эта функция поможет подвести итоги по месяцу при помощи функции КОНМЕСЯЦА. В примере формула выглядит так:
И чтобы соответствующая дата была меньше или равна последнему дню месяца, мы используем:
Сумма за месяц игнорируя год
=СУММПРОИЗВ (( МЕСЯЦ ( даты ) = месяц ) * количество )
Подводя данные по месяцам, игнорируя год, вы можете использовать формулу, основанную на функциях СУММПРОИЗВ и МЕСЯЦ.
В показанном примере, формула в Н5:
В результате получится сумма всех продаж в марте, независимо от года.
Внутри функции СУММПРОИЗВ, функция МЕСЯЦ используется для извлечения номера месяца для каждой даты в наборе данных. Сокращенный вариант результата массива выглядит следующим образом:
Каждое значение сравнивается с 3 (номер месяца март), чтобы получить результат, как этот:
Этот массив затем умножается на значения суммы, ассоциированных с каждой датой марта. Арифметическая операция изменяет ИСТИНА/ЛОЖЬ значения в единицы и нули, поэтому операция выглядит примерно так:
Где 100 это просто заполнитель на любую сумму. В результате получится один массив следующим образом:
Обратите внимание, что только «выжившие« суммы связаны с мартом, а остальные равны нулю.
СУММПРОИЗВ затем суммирует элементы в массиве и рассчитывает результат, 300 в сокращенном примере выше.
Среднее значение по месяцам
=СРЗНАЧЕСЛИМН( значения ; даты ; «> =» & A1 ; даты ; « =F5″;C5:C12;»» =» & ДАТА ( 2016 ; 1 ; 1 ); даты ; « =» & E4
И чтобы соответствующие даты были меньше или равны последнему дню месяца, мы используем:
Привет иметь следующий сценарий:
Пункты в колонке А, Общее время в колонке Б, то у меня есть 365 дат в колоннах.
Я хочу суммировать даты столбцов по месяцам.
Я хочу, например, для товара А в марте, взятый весь Times. Как это сделать? благодаря
Так, несколько избыточна, но был заинтересован в том, как сделать это с запросом мощности и был заинтересован в создании пользовательской функции для MonthNumber.
Powerquery бесплатно надстройку для предварительного 2016 и встроен в 2016 году
ШАГИ :
1) Вкладка Data (2016) или вкладка powerquery (2010 до 2016) => Выбрать query from table и обеспечить исходные данные выбрана и отображается в всплывающем окне
2) Выберите первый столбец даты, удерживая сдвиг вниз и выберите последнюю дату, а затем выберите UNPIVOT столбцов
3) Сделайте столбец верный атрибут (повернуты даты вашего) отформатирован как столбец даты
4) Откройте окно редактора расширенного запроса
и вставить следующую между let и source
Это М-код для создания пользовательской функции, которая возвращает месяц число от названий месяцев.
5) Добавить вкладку столбца => Добавить пользовательский столбец, переименовать его MonthName и вставить следующий текст
6) Добавить еще один пользовательский столбец, переименовать его MonthNum и использовать нашу новую функцию здесь:
7) Удалите ненужные Теперь столбец атрибутов; выберите столбец => правой кнопкой мыши => удалить
Transform вкладка => Группировка и введите следующие данные:
9) Убедитесь, что колонка MonthNum является числовой.
10) Закрыть и нагрузку => Only create connection , Tick флажок Add to data model , а затем Load
Выберите Insert→PivotTable из ленты. Откроется Создать диалоговое окно PivotTable.
Установите флажок Использовать External Data Source опцию, как показано на рисунке, а затем нажмите Choose Connection кнопку. Вы увидите диалоговое окно Подключение существующего, как показано на рисунке.
Выберите запрос, который вы только что создали для Table1 и назначения для сводной таблицы
12) Устройте поля по мере необходимости и сортировать по возрастанию по rowfield MonthNum
13) Вставка ломтерезки
Примечание: Вы можете ввести пользовательскую сортировку, чтобы избежать необходимости использовать столбец MonthNum для сортировки.