Доброго времени суток. Когда нужно сформировать перечень дат, соответствующих определенным дням недели, это может превратиться в пару часов рутинной работы. А может и не превратиться, если дочитаете эту статью до конца.

Чтобы отобрать только нужные дни недели, я использую функцию РАБДЕНЬ.МЕЖД. Обычно она служит для определения рабочих дней, но позволяет самому определить, какие дни недели рабочие, а какие нет. Этим и воспользуемся, чтобы получить нужные даты.

Как работает функция РАБДЕНЬ.МЕЖД

Функция предназначена для получения рабочего дня, отстоящего от заданного на определенное количество дней. Она записывается:

=РАБДЕНЬ.МЕЖД(начальная_дата; число_дней; [выходные]; [праздники])

  • Начальная дата – день, от которого отсчитываются рабочие дни
  • Число дней – количество рабочих дней, которые необходимо прибавить
  • Выходные – дни недели, которые функция должна считать выходными (необязательный параметр, если его не указывать – выходными будут суббота и воскресенье)
  • Праздники – перечень праздничных дней

Нам важно, что рабочую неделю можно указать комбинацией нулей и единиц, где 1 – выходной, 0 – рабочий. Первый день в комбинации – понедельник. Тогда обычная рабочая неделя запишется в так: «0000011». А если среда – тоже выходной, то так: «0010011». Именно этой возможностью мы будем пользоваться. Чтобы наглядно увидеть, как формируется описанный код, изучите картинку ниже. Выходные я пометил желтым цветом.

Теперь применим это для практической задачи. Пусть нужно получить список рабочих дней, когда выходные – суббота, воскресенье и понедельник.

Даты для 4-дневной рабочей недели

Очевидно, код выходных будет такой: 1000011. И таблица для заполнения:

Первый день нужно поставить вручную, остальные будем считать. Воспользуемся описанной выше функцией для определения следующей даты:

=РАБДЕНЬ.МЕЖД(B2;1;»1000011″)

Здесь:

  • B2 – ссылка на предыдущий день
  • 1 – добавить один рабочий день
  • «1000011» — код рабочей недели, который мы определили ранее

Копируем формулу в остальные ячейки, получаем график:

Основная цель выполнена, можно дальше заполнять табель, но это уже тема другой статьи. А я с вами прощаюсь, спасибо за прочтение!