=СЧЁТЕСЛИ(rng;"*txt*")
=COUNTIF(rng;"*txt*")
Эта функция поможет подвести итоги по месяцу при помощи функции КОНМЕСЯЦА. В примере формула выглядит так:
=СУММЕСЛИМН(C4:C9;B4:B9; ">=" & E4; B4:B9; "<=" &КОНМЕСЯЦА( E4; 0 ))
=SUMIFS(C4:C9;B4:B9; ">=" & E4; B4:B9; "<=" &EOMONTH( E4; 0 ))
Функция СУММЕСЛИМН может суммировать диапазоны на основе нескольких критериев.
В этом случае мы устанавливаем СУММЕСЛИМН суммировать суммы по месяцам , используя два критерия: один для соответствующей даты больше или равной первому дню месяца, второй, для соответствующей даты меньше или равной последнему дню месяца. Другими словами, нам нужна формула , как эта:
= СУММЕСЛИМН( сумма ; дата ; "> =" & "1/1/2016" ; дата ; "<=" & "1/31/2016" )
= SUMIFS( сумма ; дата ; "> =" & "1/1/2016" ; дата ; "<=" & "1/31/2016" )
Более безопасная альтернатива
=СУММЕСЛИМН ( сумма ; дата ; "> =" & ДАТА ( 2016 ; 1 ; 1 ); дата ; "<=" & ДАТА ( 2016 ; 1 ; 31 ))
=SUMIFS ( сумма ; дата ; "> =" & DATE ( 2016 ; 1 ; 1 ); дата ; "<=" & DATE ( 2016 ; 1 ; 31 ))
Он более безопасен, поскольку сроки построены с отдельными значениями год, месяц и день, а не вводятся как текст, который должен быть интерпретирован Excel).
Как правило, это болезненно, потому что если вы добавляете названия месяцев в виде текста (т.е. "январь", "Февраль", "март" и т.д.) в столбце Е вы должны пойти на лишние хлопоты, чтобы создать даты, которые можно использовать для критериев.
Тем не менее, в данном случае, мы используем простой трюк, чтобы сделать это легко: В колонке Е, вместо того, чтобы печатать названия месяцев, мы добавим фактические даты (1/1/2016, 2/1/2016, 3/1/2016), затем используем формат дат ( "мммм") для отображения названия месяцев.
Это позволяет легко строить критерии нужных нам для СУММЕСЛИ. Чтобы соответствующая дата была больше или равна первому числу месяца, мы используем:
Сумма за месяц игнорируя год
=СУММПРОИЗВ (( МЕСЯЦ ( даты ) = месяц ) * количество )
=SUMPRODUCT (( MONTH ( даты ) = месяц ) * количество )
Подводя данные по месяцам, игнорируя год, вы можете использовать формулу, основанную на функциях СУММПРОИЗВ и МЕСЯЦ.
В показанном примере, формула в Н5:
=СУММПРОИЗВ((МЕСЯЦ(B4:B19)=3)*E4:E19)
=SUMPRODUCT((MONTH(B4:B19)=3)*E4:E19)
В результате получится сумма всех продаж в марте, независимо от года.
Внутри функции СУММПРОИЗВ, функция МЕСЯЦ используется для извлечения номера месяца для каждой даты в наборе данных.
Сокращенный вариант результата массива выглядит следующим образом:
"> =" & E4
Каждое значение сравнивается с 3 (номер месяца март), чтобы получить результат, как этот:
{ ЛОЖЬ ; ЛОЖЬ ; ЛОЖЬ ; ЛОЖЬ ; ЛОЖЬ ; ЛОЖЬ ; ИСТИНА ; ИСТИНА ; ИСТИНА }
{ FALSE ; FALSE ; FALSE ; FALSE ; FALSE ; FALSE ; TRUE ; TRUE ; TRUE }
Этот массив затем умножается на значения суммы, ассоциированных с каждой датой марта. Арифметическая операция изменяет ИСТИНА/ЛОЖЬ значения в единицы и нули, поэтому операция выглядит примерно так:
{ 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 ))
=AVERAGEIFS( значения ; даты ; "> =" & A1 ; даты ; "<=" & EOMONTH( A1 ))
Чтобы высчитать среднее за месяц, вы можете использовать формулу, основанную на функции СРЗНАЧЕСЛИМН, с помощью функции КОНМЕСЯЦА.
В показанном примере, формула в F4 является:
=СРЗНАЧЕСЛИМН(D5:D12;C5:C12;">=F5";C5:C12;""<=КОНМЕСЯЦА(F5;0))
=AVERAGEIFS(D5:D12;C5:C12;">=F5";C5:C12;""<=EOMONTH(F5;0))
Чтобы высчитать среднее за месяц, вы можете использовать формулу, основанную на функции СРЗНАЧЕСЛИМН, с помощью функции КОНМЕСЯЦА.
В показанном примере, формула в F4 является:
=СРЗНАЧЕСЛИМН( суммы ; сроки ; "> =" & ДАТА ( 2016 ; 1 ; 1 ); даты ; "<=" & ДАТА ( 2016 ; 1 ; 31 ))
=AVERAGEIFS( суммы ; сроки ; "> =" & DATE ( 2016 ; 1 ; 1 ); даты ; "<=" & DATE ( 2016 ; 1 ; 31 ))
кодирование дат
Но мы не хотим, чтобы даты жестко кодировались, мы хотим, чтобы Excel создал эти даты для нас. Как правило, это сложно, потому что если вы добавляете названия месяцев в виде текста (т.е. "январь", "февраль", "март" и т.д.) в столбце Е вы должны пойти на лишние хлопоты, чтобы создать даты, которые можно использовать для критериев,
Тем не менее, в данном случае, мы используем простой трюк, чтобы сделать вещи проще: в колонке Е, вместо того, чтобы печатать названия месяцев, мы добавим фактические даты для первого числа каждого месяца (1/1/2016, 2/1/2016, 3 / 1/2016, и т.д.), а также используем пользовательский формат даты ( "МММ") для отображения названия месяцев.
Это позволяет легко строить критерии, нужные нам для СРЗНАЧЕСЛИМН. Чтобы соответствующие даты были больше или равны первому числу месяца, мы используем:
"> =" & E4
И чтобы соответствующие даты были меньше или равны последнему дню месяца, мы используем:
"<=" & КОНМЕСЯЦА( E4 ; 0 )
"<=" & EOMONTH( E4 ; 0 )
КОНМЕСЯЦА автоматически возвращается в последний день того же месяца, потому что мы поставляем ноль для месяца аргумента.
Примечание: конъюнкция с операндом (&) необходима при построении критериев на основе ссылки на ячейку.
скачать файл
Автор проекта
Дмитрий Якушев
Привет! Меня зовут Дмитрий. С 2014 года Microsoft Cretified Trainer. Вместе с командой управляем этим сайтом. Наша цель - помочь вам эффективнее работать в Excel.
Изучайте наши статьи с примерами формул, сводных таблиц, условного форматирования, диаграмм и макросов. Записывайтесь на наши курсы или заказывайте обучение в корпоративном формате.
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Подписывайтесь на нас в соц.сетях:
Сайт https://akademia-excel.ru/
ИП Якушев Дмитрий Александрович
ОГРНИП: 314501721200022
ИНН: 501706813807
Образовательная лицензия № Л035-01255-50/01194039
Банковские реквизиты:
Расчетный счет 40802810500000003597
Банк АО «Тинькофф Банк»
Юридический адрес Банка Москва, 123060,1-й Волоколамский проезд, д. 10, стр. 1
Корр. счет Банка 30101810145250000974
ИНН Банка 7710140679
БИК Банка 044525974
Регистрация на сайте означает согласие с пользовательским соглашением и на получение рассылки и рекламных материалов.
Политика в отношении обработки и защиты персональных данных.
Почта: info@akademia-excel.ru
Телефон для связи: + 7 (958) 697-73-88, + 7 (495) 145-23-86
Написать в тех.поддержку
Подписывайтесь:
авторизуйтесь