Excel к дате прибавить рабочие дни

Функция РАБДЕНЬ

В этой статье описаны синтаксис формулы и использование функции РАБДЕНЬ в Microsoft Excel.

Описание

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

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

Синтаксис

Аргументы функции РАБДЕНЬ описаны ниже.

Нач_дата Обязательный. Начальная дата.

Количество_дней Обязательный. Количество дней до или после начальной даты, не являющихся выходными или праздниками. Положительное значение аргумента “количество_дней” обозначает дату в будущем, отрицательное — дату в прошлом.

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

Важно: Даты должны быть введены с использованием функции ДАТА или как результат вычисления других формул и функций. Например, для указания даты 23 мая 2008 г. воспользуйтесь выражением ДАТА(2008,5,23). Если ввести даты как текст, это может привести к возникновению проблем.

Замечания

В приложении Microsoft Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 448 дней.

Если какой-либо из аргументов не является допустимой датой, функция РАБДЕНЬ возвращает #VALUE! значение ошибки #ЗНАЧ!.

Если start_date “плюс” и “дн.” приводит к недопустимой дате, функция РАБДЕНЬ Возвращает значение #NUM! значение ошибки #ЗНАЧ!.

Если значение аргумента “количество_дней” не является целым числом, оно усекается.

Пример

Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.

Источник: support.office.com

Считаем рабочие дни в Microsoft Excel

Функции подсчета рабочих дней, наверное, один из самых ценных подарков пользователям Excel от разработчиков. Вы представьте, сколько производственных задач можно спланировать с их помощью? Очень много! Только не все знают о существовании этих функций. Вот этот пробел мы сегодня и восполним.

Как определить дату через заданное количество рабочих дней

Стандартная задача: нам известна дата начала работ и отведенное на это количество рабочих дней. Нужно определить дату окончания работ. Как мы это сделаем? С помощью функции РАБДЕНЬ(Начальная дата;Количество дней;[Праздники]) . У этой функции три аргумента:

  1. Начальная дата – дата, от которой отсчитываем срок. Это обязательный аргумент
  2. Количество дней – сколько рабочих дней прибавить к начальной дате – обязательный аргумент
  3. Праздники – перечень праздничных дней, если они есть и их нужно учитывать. Это необязательный аргумент. Удобнее всего указывать его ссылкой на список праздников.

Вот пример использования этой функции:

Функция РАБДЕНЬ

Но что если у вас другой график выходных? Например, вы отдыхаете только в воскресенье? Используйте похожую функцию – РАБДЕНЬ.МЕЖД(Начальная дата;Количество дней; [Выходные];[Праздники]) . Здесь появился еще один необязательный параметр – Выходные. Он как раз и позволяет задать нужный график выходных. Когда вы вводите этот параметр, программа подсказывает что выбрать для правильной настройки выходных дней:

Функция РАБДЕНЬ.МЕЖД

В остальном, она работает так же, как и предыдущая.

Считаем сколько рабочих дней между датами

Вот еще сходная задача: посчитать сколько рабочих дней было между двумя датами. Функции такого подсчёта очень похожи на две предыдущие. Чтобы просто посчитать сколько рабочих дней в интервале дат, используем функцию ЧИСТРАБДНИ(Начальная дата;Конечная дата;[Праздники]) . Здесь три аргумента:

  • Начальная дата периода – обязательный аргумент
  • Конечная дата периода – обязательные аргумент
  • Праздники – необязательный аргумент – учитывает праздничные дни, не совпадающие с выходными. Удобнее всего использовать ссылку на праздники

Вот как эта функция применяется:

Функция ЧИСТРАБДНИ

Выходными днями по умолчанию считаются суббота и воскресенье. Если вам нужно выбрать другие выходные – используйте функцию ЧИСТРАБДНИ.МЕЖД(Начальная дата;Конечная дата;[Выходные];[Праздники]) . При вводе аргумента «Выходные», программа выведет подсказку со списком параметров. Выберите и запишите подходящий:

Функция ЧИСТРАБДНИ.МЕЖД

Скажу вам, этих четырех простых функций хватает, чтобы эффективно считать рабочие дни. Комбинируйте их с другими функциями обработки дат, чтобы выжать из них максимум:

Следующим постом мы заканчиваем рассмотрение функций обработки дат и времени в Эксель. Совсем скоро вы будете гуру в работе с датами! Так что, ожидаем статью о преобразовании текста в дату и время!

Друзья, если у вас остались вопросы о функциях подсчета рабочих дней – пишите их в комментариях, обязательно отвечу.

Добавить комментарий Отменить ответ

17 комментариев

А как рассчитать дату, отстоящую на определённое количество рабочих дней, с учётом возможного переноса выходных из-за праздников? Т.е. для функции РАБДЕНЬ надо ввести список исключений из выходных. Функция РАБДЕНЬ.МЕЖД не удобна, т.к. надо вводить ещё и полный список выходных, помимо праздников.

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

Так в том-то и дело, что требуется рассчитать график подачи заявлений на несколько лет вперёд, отстоящих от предыдущих дат на год, два, пять. (там сложная схема), а заявления при этом должны подаваться за определённое количество рабочих дней до очередной даты. Я и использую функцию РАБДЕНЬ с коррекцией очередного графика путём ввода праздничных дней на будущий год (когда принимается постановление), но перенесённые выходные вносят неточность. Я и не знаю как учесть.

Читайте также:  Динамическая сортировка в таблице excel

Да, но внутри периода количество выходных/рабочих изменяться не должно, т.к. это перенос. Сложность составляют лишь пограничные дни, которые затрагивают лишь часть переноса. Давайте попробуем разобрать Вашу задачу на конкретном примере. Пришлите несколько примеров расчетов, которые вызвали у Вас затруднения, используя форму обратной связи.

Я отправил через форму обратной связи задачу с описанием примера, но файл не вложить — пишет недопустимый тип файла. Ни Exel, ни Rar, ни Zip не пропускает!!

Добрый день! Как в формуле указать конечную дату расчета? К примеру есть формула =ДАТА(ГОД(C14);МЕСЯЦ(C14)+1;ДЕНЬ(20)), но мне нужно чтобы формула применялась только до определенной даты.Спасибо.

Оксана, нужно использовать функцию условия ЕСЛИ(Условие ; Значение если истина; Значение если ложь) . Если, например, у Вас в ячейке А1 хранится та самая предельная дата. Все что меньше должно вычисляться по Вашей формуле, что больше — возвращать пустое значение, тогда формула будет выглядеть так: =ЕСЛИ(ДАТА(ГОД(C14);МЕСЯЦ(C14)+1;ДЕНЬ(20))

Можно ли и как рассчитать дату начала, зная конечную дату и количество дней для выполнения задачи?

Евгений, конечно можно. Используйте функцию РАБДНИ, аргументом «начальная дата» будет Ваша конечная дата, а количество дней укажите отрицательным числом!

Подскажите пожалуйста как сделать функцию чтобы итог приписывался с словом день пример:(4дня,1день,15дней) и менялся в зависимости от количества дней

Сергей, когда можно упростить — рекомендую упрощать. Например, сократить до «дн». Тогда формула будет выглядеть так: =A1&» дн.». В данном случае предполагается, что в ячейке А1 находится Ваше число.

Добрый день! Подскажите пожалуйста как можно рассчитать например третий рабочий день. К примеру задаём дату — 01.02.2018. Мне нужно третий рабочий день. Функция рабдень считает через 3 раб дня это 6 февраля. А мне необходимо чтобы получалось на третий т.е. 5 февраля. Спасибо

Наталья, здравствуйте. Функция РАБДЕНЬ считает дату, которая будет через 3 рабочих дня, а не на третий день. Поэтому, в формуле вычтите единицу из даты, или в параметре «число дней» указывайте не 3, а 2. Второй вариант, видимо, сработает лучше.

Добрый день,
Подскажите, как высчитать количество рабочих дней для списка сотрудников, если какие-то сотрудники пришли после начала месяца, а какие-то уволились до его окончания.
Заранее спасибо!

Юлия, здравствуйте. Сделайте в списке сотрудников две колонки с датами приема на работу и увольнения. Используйте функцию ЧИСТРАБДНИ, она описана в этой статье и может принимать для расчетов произвольные даты, не обязательно первый или последний день месяца. Если не получится — напишите, будем разбираться.

Хорошая статья, но я так и не понял, как считать перенесённые праздники?
Есть две даты. Надо проверить, что бы вторая дата была не меньше 5 рабочих дней.
Использовал РАБДЕНЬ() и список дат-прадников.
Но как перенести… не понятно.
Есть формулы используя массивы, но такая формула по столбцу не копируется.
Может кто- решил проблему за такое большое время?

Здравствуйте. Стандартного решения от разработчиков пока нет. Я готовлю статью о способах решения этой задачи, вскоре она появится на блоге. Дополнительно сообщу вам на e-mail

Источник: officelegko.com

Функция РАБДЕНЬ для расчета количества рабочих дней в Excel

Функция РАБДЕНЬ предназначена для определения даты начала или окончания какого-либо мероприятия относительно заданной начальной или конечной даты с учетом числа выходных и праздничных дней, и возвращает соответствующее значение в виде данных формата Дата.

Функция РАБДЕНЬ.МЕЖД предназначена для определения даты, равной сумме текущей даты и длительности мероприятия, и возвращает соответствующее числовое значение в коде времени Excel.

Примеры использования функций РАБДЕНЬ и РАБДЕНЬ.МЕЖД в Excel

Пример 1. Согласно расчетам, для выполнения проекта сотрудником фирмы потребуется 236 часов его беспрерывной работы. Дата начала проекта – 18.08.2018. Определить дату окончания работы над проектом. В ближайшие 30 дней праздников нет, выходные – суббота и воскресенье.

Вид исходной таблицы данных:

Для решения используем формулу:

  • B5 – дата начал события (работы над проектом);
  • B6/B8 – число рабочих дней, требуемых для реализации проекта, при условии, что рабочий день длится 8 ч.

Автоматически определилось число для сдачи реализованного проекта по ключ.

Как посчитать количество рабочих дней между датами

Чтобы посчитать количество рабочих или выходных дней между двумя датами в Excel следует использовать функцию ЧИСТРАБДНИ:

Как видите всего в невисокосном 2019-му 262 рабочих дней в году и 103 дня выходных (262+103=365).

Пример 2. Курс предмета в учебном заведении рассчитан на 46 занятий, которые проводятся в понедельник, среду и пятницу. Начало изучения предмета – 3.09.2018. Ближайшие праздники: 17.09.2018, 28.09.2018, 7.10.2018. Определить дату последнего занятия.

Вид исходной таблицы данных:

Формула для расчета:

Последнее занятие будет 24 декабря 2018 года.

Формула оптимального расчета количества рабочих дней между датами

Пример 3. Для выполнения работы в срок было предложено два варианта: увеличить часы в рабочих днях до 10 ч в день или ввести шестидневную рабочую неделю. Расчетная длительность выполнения работы – 127 ч. Выбрать оптимальный вариант, если дата начала проекта – 20.08.2018.

Вид таблицы данных:

Для решения используем следующую формулу:

РАБДЕНЬ.МЕЖД(B3;B2/C5;C6);”Вариант 2″;”Вариант 1″)’ >

Функция ЕСЛИ выполняет проверку значений, возвращаемых функциями РАБДЕНЬ.МЕЖДУ и возвращает соответствующий результат. Чем больше дата, тем больше времени потребуется на реализацию проекта.

То есть, чтобы быстрее выполнить работу, лучше увеличить длительность рабочего дня до 10 часов.

Особенности использования функций РАБДЕНЬ и РАБДЕНЬ.МЕЖД в Excel

Функция РАБДЕНЬ имеет следующий синтаксис:

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

  • нач_дата – обязательный аргумент, характеризующий значения формата Дата, которое является точкой отсчета (началом какого-либо события).
  • количество_дней – обязательный аргумент, принимающий данные числового типа, которые характеризуют число рабочих дней, прошедших после начала какого-либо события или предшествующих ему. Считается, что данное количество не содержит дни, которые являются праздниками или выходными днями. Для обратного отсчета относительно даты, указанной в качестве аргумента нач_дата, данный аргумент следует оказать в виде отрицательного числа.
  • [праздники] – необязательный аргумент, принимающий данные формата Дата, указывающие одну или несколько дат, соответствующих праздничным дням. В качестве данного аргумента может быть передан массив ячеек.
Читайте также:  Как в excel от даты отнять дату

Функция РАБДЕНЬ.МЕЖД имеет следующий синтаксис:

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

  • нач_дата – обязательный аргумент, характеризующий дату начала какого-либо события в виде данных формата Дата;
  • количество_дней – обязательный аргумент в виде данных числового типа, характеризующих число дней, которые предшествуют началу какого-либо события (отрицательное число) либо обозначают какую-либо будущую дату (положительное число);
  • [праздники] – необязательный аргумент, принимающий одно или несколько значений формата Дата, указывающих даты праздничных дней;
  • [выходной] – необязательный аргумент в виде строки из 7 последовательно записанных значений из диапазона от 0 до 1, характеризующей количество выходных дней и их позицию по дням недели, или числового значения из диапазона от 1 до 17. Примеры некоторых вариантов записи данного аргумента:
  1. 1 (или явно не указан) – выходными днями являются суббота и воскресенье.
  2. 2 – воскресенье и понедельник.
  3. 3 – понедельник и вторник (и т. д).
  4. 11 – только понедельник.
  5. 12 – только вторник (и т. д.).
  6. «0000011» – суббота и воскресенье».
  7. «1000001» – воскресенье и понедельник (и т. д.).
  1. При использовании обеих рассматриваемых функций необходимо иметь ввиду, что Excel поддерживает даты начиная от 1 января 1900 г. до 31 декабря 9999 г. Если аргумент нач_дата или дата любого праздничного дня представлены в виде даты, не принадлежащей к диапазону допустимых значений, обе функции вернут код ошибки #ЧИСЛО!.
  2. Если в результате сложения даты, представленной первым аргументом любой из рассматриваемых функций, а также количества дней, заданных вторым аргументом функции, с учетом определенного количества праздничных и выходных дней будет получено значение, находящееся вне диапазона допустимых значений дат, будет возвращен код ошибки #ЧИСЛО!.
  3. Если аргумент количество_дней представлен в виде дробного числа, дробная часть будет автоматически усечена.
  4. Функция РАБДЕНЬ.МЕЖД возвращает код ошибки #ЧИСЛО!, если в качестве аргумента [выходной] было передано число не из диапазона допустимых значений или строка, содержащая недопустимые символы, только единицы («1111111») или состоящая из менее чем семи символов.
  5. При вводе дат в качестве аргументов рассматриваемых функций рекомендуется использовать не текстовые представления дат (например, «10.02.2018»), а функции, возвращающие данные в формате даты (например, ДАТА(18;02;10)).

Примечание: в отличие от функции РАБДЕНЬ, предусматривающей возможность указывать лишь даты праздничных дней, функция РАБДЕНЬ.МЕЖДУ позволяет определять число выходных в неделю и указывать, какими днями в неделе являются выходные (например, вместо привычных субботы и воскресенья можно указать вторник и среда).

Источник: exceltable.com

Excel к дате прибавить рабочие дни

Как формулами настроить заполнение табеля учета рабочего времени? Шаблон такого табеля можно скачать в этом уроке. Уровень сложности: Excel-III: Формулы и встроенные функции в Excel (8 ак.ч.)

Очередной EXCEL hand-made из серии: если я решила не работать – меня не остановить. Сохранилась модель табеля УРВ, с которой я в своё время работала – пока нам не наладили ведение табелей в учётной системе.

Потребовалось всего 4 функции, чтобы настроить такой шаблон – это СУММ, СЧЁТ, ЕСЛИ, СЧЁТЕСЛИ. Работает шаблон по следующим правилам (скачать можно у меня на сайте ExcelForum.ru в разделе ПРАКТИКУМ):

  • В серой ячейке ввести первое число месяца, за который необходимо сделать табель.
  • На листе «Исключения» уже есть списки праздничных и сокращённых дней на 2019 г., оформленные как умные таблицы – чтобы в случае увеличения числа строк нам не пришлось бы корректировать привязанные к ним формулы с листа «Табель» [Главная – Форматировать как таблицу (правее центра)]. На 2020 г. списки нужно обновить.
  • На листе «Табель» в жёлтых ячейках формулы сами заполняют нужные даты; последние три ячейки с более интенсивной окраской содержат хитрые формулы, чтобы оставить ячейки пустыми, если дней в месяце меньше 31-го. С помощью окна [Формат ячеек] я настроила вывод на экран только номера дня – можете на любой жёлтой ячейке подсмотреть, как реализована эта настройка.
  • В голубых ячйках самая сложная формула, которая последовательно проверяет, записана ли текущая дата в списке праздников и если это так, ставит букву «В». Далее формула проверяет список сокращённых дней и ставить цифру 7, если находит текущую дату в этом справочнике. И только в последнуюю очередь выясняет номер дня недели и если номер от 1 до 5 (от пн до пт), то ставит в ячейку 8 часов, либо букву «В» для оставшихся дней.
  • В розовых ячейках трудятся простейшие функции СЧЁТ (считает числовые ячейки, а это и есть количество рабочих дней) и СУММ (считает общее кол-во отработанных часов, пропуская текстовые ячейки).
  • В зелёных ячейках приведён пример подсчёта выходных и дней отпуска с помощью СЧЁТЕСЛИ.

Уфф, кажется, всё… СТОП! Про условное форматирование сообщить забыла – если вместо рабочих часов формула (или вручную) проставляет буквы, то шрифт автоматически становится красным. Подсмотреть настройку можно выделив любую голубую ячейку и заглянув в «Диспетчер правил условного форматирования» [Главная – Условное форматирование (правее центра) – Управление правилами (внизу списка)].

Лист «Табель» сделан как базовый шаблон, а общий табель по всем сотрудникам смоделирован на листе «ОБЩИЙ». Там все данные по дням заполнены с помощью прямых ссылок на базовый шаблон. Их можно нарушить и вручную проставить ОТ, например. Только сначала сделайте копию листа или копию файла.

Обучение по условным функциям можно пройти отдельно от полного курса, смотрите расписание здесь.

Источник: excelforum.ru

Как вычислить рабочие дни в Excel

Добрый день уважаемый читатель!

Сегодня я хочу немного облегчить жизнь и работу тех специалистов, в обязанностях которых существует работа с датами, хотя статья будет полезная многим. Существует много задач с датами, но в статье я рассмотрю и покажу, как вычислить рабочие дни в Excel. Эта возможность очень полезна и жизненно необходима для бухгалтеров по начислению зарплаты, экономистов и нормировщиков рабочего времени, специалистов отдела кадров. Я думаю, что о преимуществах автоматического вычисления дат вам очень пригодятся.

Для начала, вы должны знать, что Excel видит любую дату как обыкновенное числовое значение, которое начинается с цифры 1 и соответствует дате 1 января 1900 г. К примеру, 1 января 2018 г. будет равняться числу 43101 и разница между датами составит 43100 дней. А ввиду этого мы очень просто можем манипулировать датами, так же, как и числами, а это значительно делает проще нашу работу.

Читайте также:  Анализ данных эксель

Количество дней между двумя датами в Excel

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

Вычисление рабочих дней в Excel между двумя датами

Итак, поскольку количество календарных дней нам не подходит, а нужны дни работы, пользуемся для решения этой задачи функцией ЧИСТРАБДНИ.

Синтаксис этой функции достаточно прост и понятен:

= ЧИСТРАБДНИ(_нач_дата_; _кон_дата_; _[праздники]_), где:

  • Начальная дата – является обязательным аргументом и указывается дата начала отсчёта;
  • Конечная дата – также обязательный аргумент и указывает дату окончания периода расчётов;
  • Праздники – не обязательный аргумент, являет собой список дат или ссылку на них, которые следует изъять из расчётов, например, государственные или религиозные праздники.

Простой пример:

У нас есть даты начала периода в диапазоне ячеек А2:А5 и даты конца периода – В2:В5. Используя нашу функцию, мы получаем нужный нам интервал в рабочих днях. Сложный пример:

Усложним нашу задачу добавив несколько праздничных дней в диапазоне Е2:Е5. Тогда наша формула пересчитает рабочие дни и отминусует праздники, попавшие в вычитаемый период. Диапазон с праздниками советую закрепить абсолютными ссылками, так как чтобы при копировании формулы она не выдавала ошибку и предоставляла правильный результат.

А на этом у меня всё! Я очень надеюсь, что всё вышеизложенное вам понятно. Буду очень благодарен за оставленные комментарии, так как это показатель читаемости и вдохновляет на написание новых статей! Делитесь с друзьями, прочитанным и ставьте лайк!

Источник: topexcel.ru

Создание календаря в Excel на год

Готовый результат

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

Добавил календарь на 2017 год с праздниками и выходными в соответствии с постановлением правительства.

Пошаговая инструкция создания календаря в Excel

Сейчас мы создадим автоматический календарь который пригодится не только на текущий год, но и на все последующие года. И для этого нам не понадобятся макросы и программирование. Все что я покажу – сделано с использованием стандартных возможностей Excel.

Делаем заголовки

В ячейку A1 вбиваем следующую формулу: =”Календарь на ” & ГОД(СЕГОДНЯ()) & ” год”. Функция СЕГОДНЯ() возвращает текущую дату (мы часто будем ей пользоваться). Соответственно связка функций ГОД(СЕГОДНЯ()) возвратит нам текущий год.

Теперь создадим заголовки месяцев. В ячейку где стоит Январь запишем следующую формулу =ДАТА(ГОД(СЕГОДНЯ());1;1). Эта функция возвращает первое января текущего года (01.01.2015 в моем случае). Применим к этой ячейке такой формат, чтобы отображалось только название месяца. Для этого откроем формат ячеек сочетанием клавиш Ctrl + 1 и выберем соответствующий формат (см. рисунок).

Для создания заголовков последующих месяцев будем использовать еще одну очень полезную функцию =ДАТАМЕС(B3;1). Эта функция возвращает дату отстоящую от указанной на заданное число месяцев (в нашем случае на один). Таким образом, у нас получается следующая картина (дополнительно я добавил немного форматирования):

Проставляем числа

Для автоматического проставления чисел в календаре мы будем использовать всего одну формулу – формулу массива. На вид звучит страшновато, но если разобраться – все легко и просто. Выделяем ячейки B5:H10 и вводим следующую формулу (не спешим жать Enter):
=ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1)-(ДЕНЬНЕД(ДАТА(ГОД(B3);МЕСЯЦ(B3);1-1))-1)+<0:1:2:3:4:5:6>*7+

Вместо Enter нажимаем сочетание клавиш Ctrl+Shift+Enter, вставляя таким образом формула массива. В результате в выделенном диапазоне получаем числа указанного в ячейке B3 месяца.

Аналогичную операцию проводим с другими месяцами или просто копируем диапазон дат января в следующие месяца. Получаем следующую картину:

Форматируем

Отформатируем ячейки таким образом, чтобы они содержали только числа (а не полностью даты). Выделяем даты, открываем формат ячеек (Ctrl+1) и вводим вручную следующий формат:

Календарь принимает все более привычный вид.

Добавляем условного форматирования

Сейчас в январе календарь содержит даты 29, 30, 31 декабря, а также часть дат февраля. Давайте немного скроем эти числа. Для этого будем использовать условное форматирование. Выделяем ячейки B5:H10 и создаем правило условного форматирования. Форматироваться будут ячейки, для которых следующая формула будет являться ИСТИНОЙ:
=И(МЕСЯЦ(B5)<>1+3*(ЧАСТНОЕ(СТРОКА(B5)-5;9))+ЧАСТНОЕ(СТОЛБЕЦ(B5);9))

В качестве формата я выбрал серый текст шрифта и получил следующую картину:

Автоматически выделяем текущую дату в календаре

Для этого создаем еще одно правило условного форматирования. Ячейка будет форматироваться только в том случае, если ее значение будет равно текущей дате (=СЕГОДНЯ()):

Выделим выходные дни в календаре Excel

На этот раз обойдемся обычной заливкой ячеек. Выбирайте на свой вкус. У меня получилось так:

Добавляем праздничные дни

Создадим новый лист Excel (Праздники) и добавим на него умную таблицу со столбцом Праздничные дни. В этот столбец занесем все праздничные дни. Я это уже сделал, можете спокойно копировать и использовать.

Вернемся в наш календарь и создадим еще одно правило условного форматирования. Формула условного форматирования будет проверять является ли дата праздником. И в случае если формула вернет ИСТИНА ячейка будет форматироваться. Вот эта формула:
=НЕ(ЕОШИБКА(ПОИСКПОЗ(B5;ДВССЫЛ(“Праздники[Праздничные дни]”);0))). Стоит отметить, что при добавлении или изменении праздничных дней, календарь будет автоматически форматироваться.

Осталось скопировать ячейки B5:H10 в другие месяца и наш автоматический календарь готов и может служить нам не один год.

Изменение цветовой гаммы календаря Excel

Если при создании календаря использовать цвета темы, то потом их можно будет изменить одним простым движением. Просто сменив цвета темы на вкладке Разметка страницы. Выбирайте понравившийся.

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

Источник: micro-solution.ru