Производственный календарь в excel с возможностью редактирования

Обновлено: 06.07.2024

Для автоматизации процесса нам понадобится

* для Excel 2010 и 2013 вам понадобится бесплатная надстройка Power Query, скачать можно отсюда.



На странице так же доступны предыдущие версии и версия производственного календаря в xlsx:





Для Excel 2010 и Excel 2013 такой же функционал доступен в виде бесплатной надстройки Power Query, можно скачать отсюда. Функционал надстройки развивается каждый месяц, я рекомендую регулярно обновляться, чтобы всегда иметь под рукой новейшие функции и возможности трансформации данных.

Для скачивания чего-либо из Интернета нам нужна ссылка на файл или страницу.

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





Вставляем ссылку на csv файл





Теперь необходимо преобразовать полученные данные.

  • Используем первую строку в качестве заголовков столбцов









Воспользуемся фильтром, оставим только интересующие нас годы



Зададим фильтр с нужными нам условиями







В результате получается таблица





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







  • Получив столбец с датой, можно убрать предыдущие столбцы



Осталось сохранить запрос и можно выводить его на лист

Подобным запросом мы получаем не полный список календарных дат, так как публикуемый на портале Открытых Данных набор содержит только праздничные и предпраздничные дни.

Полученный список может быть использован в функциях РАБДЕНЬ (WORKDAY), РАБДЕНЬ.МЕЖД (WORKDAY.INTL), а также для разметки полного календаря рабочими / не рабочими днями (что актуально для моделей в Power Pivot и Power BI).



Разобраться, как это работает, вы можете, изучив xlsx-файл доступный по ссылке.

В нём вы найдёте несколько запросов



Календарь в Microsoft Excel

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

Создание различных календарей

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

Способ 1: создание календаря на год

Прежде всего, рассмотрим, как создать календарь за определенный год.

  1. Разрабатываем план, как он будет выглядеть, где будет размещаться, какую ориентацию иметь (альбомную или книжную), определяем, где будут написаны дни недели (сбоку или сверху) и решаем другие организационные вопросы.
  2. Для того, чтобы сделать календарь на один месяц выделяем область, состоящую из 6 ячеек в высоту и 7 ячеек в ширину, если вы решили писать дни недели сверху. Если вы будете их писать слева, то, соответственно, наоборот. Находясь во вкладке «Главная», кликаем на ленте по кнопке «Границы», расположенной в блоке инструментов «Шрифт». В появившемся списке выбираем пункт «Все границы».

Ограничивание ячеек в Microsoft Excel

Переход к установки высоты строки в Microsoft Excel

Открывается окно, в котором нужно установить требуемую высоту строки. Ели вы впервые делаете подобную операцию и не знаете, какой размер установить, то ставьте 18. Потом жмите на кнопку «OK».

Установка высоты строки в Microsoft Excel

Теперь нужно установить ширину. Кликаем по панели, на которой указаны наименования столбцов буквами латинского алфавита. В появившемся меню выбираем пункт «Ширина столбцов».

Переход к установки ширины столбца в Microsoft Excel

В открывшемся окне установите нужный размер. Если не знаете, какой размер установить, можете поставить цифру 3. Жмите на кнопку «OK».

Установка ширины столбца в Microsoft Excel

Форматирование ячеек в Microsoft Excel

Элементы календаря скопированы в Microsoft Excel

Крпирование ячеек в Microsoft Excel

Установка наименования месяцев в Microsoft Excel

Выставление дат в Microsoft Excel

После этого, можно считать, что календарь готов, хотя вы можете дополнительно отформатировать его на своё усмотрение.

Способ 2: создание календаря с использованием формулы

Но, все-таки у предыдущего способа создания есть один весомый недостаток: его каждый год придется делать заново. В то же время, существует способ вставить календарь в Excel с помощью формулы. Он будет каждый год сам обновляться. Посмотрим, как это можно сделать.

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

Вставка формулы в Microsoft Excel

Создание макета календаря в Microsoft Excel

Вставка формулы для января

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

Переход в формат ячеек в Microsoft Excel

Окно формата ячеек в Microsoft Excel

Добавление наименований месяцев в Microsoft Excel

Заполнение пространства дат в Microsoft Excel

Форматирование под дату в Microsoft Excel

Выставление дат во всех месяцах в Microsoft Excel

Производим в блоке календаря за январь выделение ячеек, в которых содержатся числа. Кликаем по значку «Условное форматирование», размещенному на ленте во вкладке «Главная» в блоке инструментов «Стили». В появившемся перечне выбираем значение «Создать правило».

Переход к созданию правила условного форматирования в Microsoft Excel

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

Создание правила в Microsoft Excel

В открывшемся окне переходим во вкладку «Шрифт». В блоке «Цвет» выбираем белый или цвет фона, если у вас установлен цветной фон календаря. Жмем на кнопку «OK».

Установка цвета шрифта в Microsoft Excel

Создание правила в программе Microsoft Excel

Скрытие лишних дат в Microsoft Excel

Заливка ячееек в Microsoft Excel

Заливка цветом всех ячеек в Microsoft Excel

Установка формата ячеек в Microsoft Excel

В целом работа над созданием «вечного» календаря завершена, хотя вы можете ещё долго проводить над ним различные косметические работы, редактируя внешний вид на свой вкус. Кроме того, отдельно можно будет выделить, например, праздничные дни.

Вечный календарь готов в Microsoft Excel

Способ 3: использование шаблона

Те пользователи, которые ещё в недостаточной мере владеют Экселем или просто не хотят тратить время на создание уникального календаря, могут воспользоваться готовым шаблоном, закачанным из интернета. Таких шаблонов в сети довольно много, причем велико не только количество, но и разнообразие. Найти их можно, просто вбив соответствующий запрос в любую поисковую систему. Например, можно задать следующий запрос: «календарь шаблон Excel».

Шаблон календаря в Microsoft Excel

Вы можете в нем с помощью кнопки заливки во вкладке «Главная» закрасить различными цветами ячейки, в которых содержатся даты, в зависимости от их важности. Собственно, на этом вся работа с подобным календарем может считаться оконченной и им можно начинать пользоваться.

Выделение дат в Microsoft Excel

Мы разобрались, что календарь в Экселе можно сделать двумя основными способами. Первый из них предполагает выполнение практически всех действий вручную. Кроме того, календарь, сделанный этим способом, придется каждый год обновлять. Второй способ основан на применении формул. Он позволяет создать календарь, который будет обновляться сам. Но, для применения данного способа на практике нужно иметь больший багаж знаний, чем при использовании первого варианта. Особенно важны будут знания в сфере применения такого инструмента, как условное форматирование. Если же ваши знания в Excel минимальны, то можно воспользоваться готовым шаблоном, скачанным из интернета.

Закрыть

Мы рады, что смогли помочь Вам в решении проблемы.

Отблагодарите автора, поделитесь статьей в социальных сетях.

Закрыть

Опишите, что у вас не получилось. Наши специалисты постараются ответить максимально быстро.

Июнь 2020
См. также: Производственный календарь на: 2021, 2020, 2019, 2018, 2017.

Производственный календарь 2020


Желтый цвет: Нерабочие дни с сохранением зарплаты в соответствии с указами Президента РФ от 25.03.2020 № 206, от 02.04.2020 № 239, кроме организаций, на которые действие указов не распространяется.

Норма рабочего времени в 2020 году
Порядок исчисления нормы рабочего времени на определенные календарные периоды времени (месяц, квартал, год) в зависимости от установленной продолжительности рабочего времени в неделю утвержден приказом Минздравсоцразвития России от 13 августа 2009 г. N 588н.

ПериодД кален
дарных
Д рабочихД выход,
празд.
Д пред-
празд.
Часы 40-
часовая
Часы 36-
часовая
Часы 24-
часовая
Январь3117140136,0122,481,6
Февраль2919100152,0136,891,2
Март3119120152,0136,891,2
1 квартал9155360440,0396,0264,0
Апрель3003000,00,00,0
Май3114170112,0100,867,2
Июнь3020101159,0143,095,0
2 квартал9134571271,0243,8162,2
1 полугодие18289931711,0639,8426,2
Июль312290176,0158,4105,6
Август3121100168,0151,2100,8
Сентябрь302280176,0158,4105,6
3 квартал9265270520,0468,0312,0
Октябрь312290176,0158,4105,6
Ноябрь3020101159,0143,095,0
Декабрь312381183,0164,6109,4
4 квартал9265272518,0466,0310,0
2 полугодие1841305421 038,0934,0622,0
Год36621914731 749,01 573,81 048,2

Для рабочего проекта я выбрал способ получения дат через VBA(для поддержки всех версий независимо от надстроек), но в связи с популярностью Power Qwery решил сделать решение и при помощи этой надстройки.

Я постарался в коде в некоторых местах прописать комментарии, т.к. прописывать их напрямую в статье не очень удобно - код не маленький и описывать каждый кусок проблематично и больше запутает, чем прояснит процесс, как мне кажется.

Product Calendar_VBA.xlsm (76,8 KiB, 370 скачиваний)

Расширенный редактор

Прежде чем читать далее и пробовать применить, необходимо знать азы работы в Power Query(Power Query - что такое и почему её необходимо использовать в работе?), уметь создавать и редактировать запросы и вызвать расширенный редактор: переходим в нужный запрос -Главная -Расширенный редактор:

Power Qwery FromBinary function

В случае с Power Qwery все с одной стороны проще, а с другой есть свои нюансы. Взять хотя бы попытку получить напрямую текст страницы https://data.gov.ru/opendata/7708660670-proizvcalendar : если попытаться подключиться через стандартный метод(Другие (Other) -Из интернета (from Web) , то придется очень долго разворачивать элемент Document на составные части разметки HTML в поисках тегов DIV и A для определения строки с гиперссылкой. Что на мой взгляд не оптимально и уж совсем не гибко - любое изменение структуры страницы, даже малейшее может привести к ошибке.
Поэтому я использовал менее очевидный, но куда более удобный в данном случае вариант - Lines.FromBinary(Web.Contents("https://data.gov.ru/opendata/7708660670-proizvcalendar")) . Это самая важная строка в текущей задаче - она получает исходный текст страницы сайта в виде разбитого на строки текста, в котором потом можно будет просматривать и искать нужное нам

а дальше по сути идет тоже самое, что делалось кодом VBA: ищем в этом тексте ссылку, выдергиваем только ссылку для скачивания файла календаря, подключаемся к этой ссылке для получения конечного CSV и делаем преобразования. Только это выглядит куда проще и заметно короче, чем тоже самое на VBA :) Сам код из расширенного редактора:

Шаги запроса Power Qwery

Так же не стал расписывать со скринами по шагам все преобразования, т.к. каждый желающий может скачать файл(приложен ниже) с запросом PQ и просмотреть по шагам все действия:

Но если вдруг это надо будет - пишите в комментариях, постараюсь описать процесс наглядно(в будущем подготовлю видеоурок на данную тему).

Читайте также: