
Общая формула
=date-WEEKDAY(date,3)
Резюме
Чтобы получить понедельник недели (т.е. начало недели) для любой заданной даты, вы можете использовать формулу, основанную на функции WEEKDAY. В показанном примере формула C6:
=B5-WEEKDAY(B5,3)
Примечание. В схеме Excel по умолчанию недели начинаются в воскресенье. Однако в этом примере предполагается, что первый день недели - понедельник, что настроено с помощью второго аргумента WEEKDAY, как описано ниже.
Объяснение
Представьте, что у вас есть случайная дата и вы хотите найти понедельник недели, в который она появляется. Вы можете видеть, что вам нужно будет «откатиться» на определенное количество дней, в зависимости от того, в какой день недели данная дата. Если дата - среда, вам нужно откатиться на 2 дня, если дата - на пятницу, откатиться на 4 дня и так далее, как показано в таблице ниже:
Дата | Откатиться |
понедельник | 0 |
вторник | 1 |
Среда | 2 |
Четверг | 3 |
Пятница | 4 |
суббота | 5 |
Воскресенье | 6 |
Как узнать номер отката?
Оказывается, функция WEEKDAY с небольшой корректировкой может дать нам нужный нам номер отката. WEEKDAY возвращает число, обычно от 1 до 7 для каждого дня недели. Если установить для необязательного второго аргумента (return_type) значение 3, WEEKDAY вернет числа 0-6 для недели, основанной на понедельнике. Другими словами, мы можем использовать WEEKDAY для генерации значений отката в таблице выше для любой заданной даты. Отлично.
Формула просто напрямую использует это поведение:
=B5-WEEKDAY(B5,3) =25-Aug-2019-WEEKDAY(25-Aug-2019,3) =25-Aug-2019-6 =19-Aug-2019
Понедельник текущей недели
Чтобы получить понедельник текущей недели, вы можете использовать эту формулу:
=TODAY()-WEEKDAY(TODAY(),3)
Здесь мы используем функцию СЕГОДНЯ, чтобы вставить текущую дату в ту же формулу. Эта формула будет постоянно обновляться.
Пользовательская альтернатива
Если вы хотите настроить поведение в зависимости от дня недели, используйте альтернативную формулу, которая использует функцию ВЫБРАТЬ с жестко заданными значениями корректировки:
=B5-CHOOSE(WEEKDAY(B5,2),0,1,2,3,4,5,6)
Эта формула использует WEEKDAY для получения индекса дня недели и CHOOSE для получения значения отката. Преимущество этого подхода в том, что CHOOSE допускает произвольные значения для каждого дня недели; вы можете настроить по своему усмотрению.