Если есть список дат, как вы можете сосчитать определенный день недели в таком списке дат, как показано на скриншоте выше?
Если вы хотите следовать этому руководству, загрузите пример электронной таблицы.
Общая формула:
SUMPRODUCT(—(WEEKDAY(date_range)=week_day))
Синтаксис и аргументы
Date_range: the references of dates that you want to count number of a specific weekday within. |
Week_day: a number that indicates the day of week. |
Week_day номер
будний день | Число |
Воскресенье | 1 |
понедельник | 2 |
вторник | 3 |
среда | 4 |
четверг | 5 |
пятница | 6 |
Сб | 7 |
Возвращаемое значение
Формула возвращается к числовому значению.
Как работает эта формула
Например, диапазон дат списка B3: B10 и соответствующий список номеров дней недели в диапазоне F3: F9, теперь вам нужно подсчитать каждый день недели в этом диапазоне дат, используйте формулу ниже:
=SUMPRODUCT(—(WEEKDAY($B$3:$B$10)=F3))
Нажмите Enter ключ для получения первого результата подсчета.
Перетащите маркер автозаполнения над ячейками, чтобы применить эту формулу по мере необходимости.
объяснение
WEEKDAY функция: считает день недели в диапазоне дат. Формула WEEKDAY (3 млрд. Долларов: 10 млрд. Долларов) возвращает результат массива:
{6;6;3;1;3;7;1;6}
Формула = (ДЕНЬ НЕДЕЛИ (3 млрд долларов США: 10 млрд долларов США) = F3) возвращает результат массива:
{ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ; ЛОЖНЫЙ}
SUMPRODUCT функция: возвращает результат умножения и суммирования массивов.
= СУММПРОИЗВ (- (ДЕНЬ НЕДЕЛИ (3 млрд долларов США: 10 млрд долларов США) = F3))
= СУММПРОИЗВ (- {ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ})
=0
В формуле
= СУММПРОИЗВ (- (ДЕНЬ НЕДЕЛИ (3 млрд долларов США: 10 млрд долларов США) = F4))
= СУММПРОИЗВ (- {ЛОЖЬ; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ИСТИНА; ЛОЖЬ; ЛОЖЬ; ЛОЖЬ}
=2
Относительные формулы
- Считать будние дни только между двумя датами
В этом руководстве представлены формулы для подсчета дней, исключая выходные и праздничные дни, между двумя датами. - Считать определенный день недели между двумя датами
В этом руководстве представлена формула для подсчета определенного дня недели между двумя заданными датами в Excel. - Считайте дни между двумя датами
Здесь представлены формулы для подсчета дней, недель, месяцев или лет между двумя датами. - Преобразовать время в десятичные минуты
В этом руководстве представлена формула для преобразования времени в десятичные минуты в Excel.
Относительные функции
- Функция Excel WEEKNUM
Возвращает номер недели указанной даты в году. - Функция РАБДЕНЬ в Excel
Добавляет рабочие дни к заданной дате начала и возвращает рабочий день - Функция МЕСЯЦ в Excel
МЕСЯЦ используется для получения месяца в виде целого числа (от 1 до 12) от даты. - Функция ДЕНЬ в Excel
Функция ДЕНЬ получает день в виде числа (от 1 до 31) от даты - Функция ГОД в Excel
Функция ГОД возвращает год на основе заданной даты в формате 4-значного серийного номера.
Лучшие инструменты для работы в офисе
Kutools for Excel — Помогает вам выделиться из толпы
Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.
- Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
- Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
- Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
- 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.
Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)
- Одна секунда для переключения между десятками открытых документов!
- Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
- Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.
Комментарии (0)
Оценок пока нет. Оцените первым!
5 / 5 / 4 Регистрация: 21.12.2014 Сообщений: 113 |
|
1 |
|
Подсчитать количество определенных дней недели в списке16.10.2016, 01:06. Показов 7567. Ответов 4
На рабочем листе создайте список значений дат в формате с указанием дней недели. С помощью формулы массива и соответствующих функций подсчитайте количество определенных дней недели в списке. Пробовал такую формулу но она для начальной и конечной даты: Код =СУММ(ЕСЛИ(ТЕКСТ(СТРОКА(ДВССЫЛ(B1&":"&B2));"ддд")=A4;1;0))
0 |
2640 / 1697 / 694 Регистрация: 04.09.2015 Сообщений: 3,367 |
|
16.10.2016, 02:10 |
2 |
Показывайте файл пример
1 |
5 / 5 / 4 Регистрация: 21.12.2014 Сообщений: 113 |
|
16.10.2016, 15:12 [ТС] |
3 |
Вот пример, но там написана начальная и конечная дата, а по задании требуется список значений
0 |
2640 / 1697 / 694 Регистрация: 04.09.2015 Сообщений: 3,367 |
|
16.10.2016, 20:45 |
4 |
Сообщение было отмечено kolas1173 как решение РешениеТри формулы: Ваша исправленная, ваша укороченная и без летучей функции не массивная Код =СУММ(ЕСЛИ(ТЕКСТ(СТРОКА(ДВССЫЛ("A"&C1&":A"&C2));"ДДДД")=E1;1;0)) =СУММ(Ч(ТЕКСТ(СТРОКА(ДВССЫЛ("A"&C1&":A"&C2));"ДДДД")=E1)) =СУММПРОИЗВ(Ч(ТЕКСТ(СТРОКА(ИНДЕКС(A:A;C1):ИНДЕКС(A:A;C2));"ДДДД")=E1))
1 |
2640 / 1697 / 694 Регистрация: 04.09.2015 Сообщений: 3,367 |
|
17.10.2016, 10:07 |
5 |
Сообщение было отмечено kolas1173 как решение РешениеЕще вариант, самый короткий в этой теме. Формула массива Код =СУММ(Ч(ТЕКСТ(СТРОКА(СМЕЩ(A1;C1-1;;C2-C1));"ДДДД")=E1))
2 |
В этом учебном материале по Excel мы рассмотрим примеры того, как подсчитать определенный день недели между датами
Основная формула
=СУММПРОИЗВ(—(ДЕНЬНЕД(СТРОКА(ДВССЫЛ(нач_дата&«:»&кон_дата)))=день_нед)) |
Описание
Для подсчета дней недели (понедельник, пятница, воскресенье и т.д.) между двумя датами можно использовать формулу массива, которая использует несколько функций: СУММПРОИЗВ, ДЕНЬНЕД, СТРОКА и ДВССЫЛ.
В показанном примере формула в ячейке E6 выглядит так:
=СУММПРОИЗВ(—(ДЕНЬНЕД(СТРОКА(ДВССЫЛ(B6&»:»&C6));2)=D6)) |
В основной версии формулы
нач_дата
= дата началакон_дата
= дата окончаниядень_нед
= день недели
.
Пояснение
По сути, эта формула использует функцию ДЕНЬНЕД для проверки количества дат, чтобы увидеть, попадают ли они в данный день недели (день_нед), и функцию СУММПРОИЗВ, чтобы подвести итог.
При задании даты ДЕНЬНЕД просто возвращает число от 1 до 7, которое соответствует определенному дню недели. По умолчанию 1 = воскресенье и 7 = суббота.
Для наших «широт и менталитета» устанавливаем второй аргумент функции ДЕНЬНЕД = 2.
ДЕНЬНЕД(СТРОКА(ДВССЫЛ(B6&»:»&C6));2) |
Только тогда 1 = понедельник, 7 = воскрсенье и так далее.
Уловка этой формулы заключается в понимании того, что даты в Excel — это просто порядковые номера, начинающиеся 1 января 1900г. Например, 1 мая 2021г. — это серийный номер 44317, а 9 мая 2021г. — 44325.
Даты в Excel выглядят как даты только тогда, когда применяется числовой формат даты.
Возникает вопрос: как создать массив дат, который можно передать функции ДЕНЬНЕД, чтобы узнать соответствующие дни недели?
Ответ — использовать СТРОКА с функциями ДВССЫЛ следующим образом:
СТРОКА(ДВССЫЛ(дата1&«:»&дата2)) |
Функция ДВССЫЛ позволяет интерпретировать сцепленные даты «44317:44325» как номера строк. Тогда функция СТРОКА возвращает такой массив:
{44317;44318;44319;44320;44321;44322;44323;44324;44325} |
Функция ДЕНЬНЕД оценивает эти числа как даты и возвращает этот массив:
который проверяется относительно данного дня недели (в данном случае 6 из D6). После преобразования результатов теста в единицы и нули с двойным дефисом этот массив обрабатывается СУММПРОИЗВ:
Что возвращает 2.
С функцией ПОСЛЕД
С помощью новой функции ПОСЛЕД эту формулу можно упростить примерно так:
=СУММПРОИЗВ(—(ДЕНЬНЕД(ПОСЛЕД(кон_дата-нач_дата+1;1;нач_дата;1))=день_нед)) |
В этой версии мы используем ПОСЛЕД для генерации массива дат напрямую, без необходимости в ДВССЫЛ или СТРОКА.
Подсчёт количества дней недели между датами |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
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 Starter 2010 Еще…Меньше
В этой статье описаны синтаксис формулы и использование деньНЕД
в Microsoft Excel.
Описание
Возвращает день недели, соответствующий дате. По умолчанию день недели определяется как целое число в интервале от 1 (воскресенье) до 7 (суббота).
Синтаксис
ДЕНЬНЕД(дата_в_числовом_формате;[тип])
Аргументы функции ДЕНЬНЕД описаны ниже.
-
Дата_в_числовом_формате Обязательный. Порядковый номер, соответствующий дате, день недели для которой необходимо найти. Даты должны вводиться с использованием функции ДАТА или как результат вычисления других формул и функций. Например, для указания даты 23 мая 2008 г. воспользуйтесь выражением ДАТА(2008,5,23). Если даты вводятся как текст, это может привести к возникновению проблем.
-
Тип Необязательный. Число, определяющее тип возвращаемого значения.
Тип |
Возвращаемое число |
1 или опущен |
Число от 1 (воскресенье) до 7 (суббота). Аналогично предыдущей версии Microsoft Excel |
2 |
Число от 1 (понедельник) до 7 (воскресенье) |
3 |
Число от 0 (понедельник) до 6 (воскресенье) |
11 |
Число от 1 (понедельник) до 7 (воскресенье) |
12 |
Число от 1 (вторник) до 7 (понедельник). |
13 |
Число от 1 (среда) до 7 (вторник). |
14 |
Число от 1 (четверг) до 7 (среда). |
15 |
Число от 1 (пятница) до 7 (четверг). |
16 |
Число от 1 (суббота) до 7 (пятница). |
17 |
Число от 1 (воскресенье) до 7 (суббота). |
Замечание
-
В приложении Microsoft Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 448 дней.
-
Если serial_number вне диапазона для текущего базового значения даты, #NUM! возвращается ошибка.
-
Если return_type находится вне диапазона, указанного в таблице выше, #NUM! возвращается ошибка.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Данные |
||
14.02.2008 |
||
Формула |
Описание (результат) |
Результат |
=ДЕНЬНЕД(A2) |
День недели с числом от 1 (воскресенье) до 7 (суббота) (5) |
5 |
=ДЕНЬНЕД(A2; 2) |
День недели с числом от 1 (понедельник) до 7 (воскресенье) (4) |
4 |
=ДЕНЬНЕД(A2; 3) |
День недели с числом от 0 (понедельник) до 6 (воскресенье) (3) |
3 |