Как перевести рабочие дни в календарные формула
Понятие календарный день и рабочий день
Удаляются комментарии, содержащие оскорбления, ненормативную лексику, рекламу и СПАМ в том числе тексты, скопированные с других сайтов. Берегите свой труд! Все дни. Все дни — праздники, события, даты. Дорогие читатели!
ВИДЕО ПО ТЕМЕ: Управление проектами (полный базовый курс) — проектное управление (менеджмент) от А до Я
Дорогие читатели! Наши статьи рассказывают о типовых способах решения юридических вопросов, но каждый случай носит уникальный характер.
Если вы хотите узнать, как решить именно Вашу проблему — обращайтесь в форму онлайн-консультанта справа или звоните по телефонам, представленным на сайте. Это быстро и бесплатно!
Функция ЧИСТРАБДНИ
- Функция ЧИСТРАБДНИ (NETWORKDAYS) возвращает количество будних дней (исключая выходные) между двумя датами.
Если вы укажете список праздников, то функция ЧИСТРАБДНИ (NETWORKDAYS) вернёт количество рабочих дней (не считая выходных и праздничных дней) между двумя датами.
Календарь ниже поможет вам лучше понять функцию ЧИСТРАБДНИ (NETWORKDAYS).
Excel хранит даты в виде чисел и подсчитывает количество дней с 0 января 1900 года. Вместо того, чтобы подставлять диапазон ячеек в формулу, подставьте константы чисел, которые представляют эти даты. Чтобы это сделать, выделите E1:E2 в формуле ниже и нажмите F9.
Как уже было сказано выше, стандартная продолжительность основного отдыха всегда составляет ровно 28 календарных дней. Однако иногда сотрудники обладают законным правом и на оформление дополнительного отдыха. Данное право имеют следующие категории граждан:
- Сотрудники с инвалидностью. Для данной категории стандартный отпуск увеличивается на два дополнительных дня и составляет уже 30 дней.
- Специалисты, которые еще не достигли совершеннолетнего возраста. Таким сотрудникам полагается три дополнительных дня к основному периоду отдыха. Таким образом, минимальный размер отпуска для данной категории служащих составит уже 31 календарный день.
- Работники различных медицинских организаций, чья деятельность характеризуется наличием повышенного уровня опасности в отношении заражения. Сюда можно отнести, например, служащих, которые постоянно имеют дело с ВИЧ инфицированными гражданами. Минимальный размер отпускного периода для данной категории служащих составляет ровно 36 календарных дней.
- Сотрудники педагогической сферы. Данные работники обладают законным правом на оформление одного из самых продолжительных отпусков. Минимальный размер периода отдыха для этой категории служащих составит 42 дня, в то время как максимальный – 56 дней.
Что касается расчетов точной продолжительности дополнительных отпусков – здесь необходимо учитывать исключительно стандартные правила, которые были установлены действующими положениями законодательства. В частности, в дополнительные периоды отдыха также не могут быть включены выходные дни. Что же касается официальных праздников – они учитываются в дополнительном отпуске. То есть отпускной период также должен быть увеличен, в случае если в него попал 1 день государственного праздника либо более.
Если же говорить о некоторых особенностях оформления дополнительного отпуска, здесь необходимо учесть следующий нюанс: он может быть взят работником сразу целиком либо разделен сотрудником на несколько частей. При этом одна часть в обязательном порядке должна состоять как минимум из 14 календарных дней либо более. Что же касается остальных частей отпуска – они могут быть использованы сотрудником по его собственному усмотрению. Главное, чтобы конкретная схема использования была оговорена с работодателем в предварительном порядке для исключения возможных споров и претензий в будущем.
Еще раз о рабочих днях. Быстрый способ расчета в запросах
Рейтинг: 593
Работа с производственными календарями, рабочими графиками часто встречается в практике разработки. Большинство задач можно свести к двум: 1) Добавить к дате (отнять от даты) некоторое количество рабочих дней и 2) найти разницу в рабочих днях между двумя датами. Несмотря на кажущуюся простоту, в этих задачах достаточно подводных камней, как методических, так и технологических. Естественно эта тема не была обойдена вниманием разработчиков типовых конфигураций и членов нашего сообщества. Простой поиск дает несколько результатов:
На мой взгляд, предлагаемые решения обладают теми или иными недостатками. В их числе:
- сложность полученных запросов: применение временных таблиц, использование группировок больших таблиц, получаемых в результате соединения
- не все решения хорошо работает с некоторыми входными данными, например в качестве входных параметров-дат могут быть использованы выходные дни
- некоторые решения предполагают дополнительную обработку программным кодом промежуточных данных, полученных в результате запроса
- часто решается узкая задача, т.е. решение не универсально.
Предлагаю свой вариант решения.
Постановка задачи:
Предположим, на предприятии ведется учет выполняемых работ. Каждая работа выполняется целое число дней, всегда начинается в начале дня, а заканчивается через несколько дней в конце дня. Продолжительность работ может быть от 1 дня, до нескольких лет (важность условия этого будет упомянута ниже). Необходимо иметь инструмент, позволяющий выполнять расчеты дат начала, окончания работ, продолжительностей работ, временных промежутков между работами. Все расчеты выполнять в рабочих днях. Решение должно позволять использование его в запросах.
В чем могут быть «подводные камни» при решении? Например токарь работает по стандартному рабочему графику — пятидневке. 01 апреля 2019 он начинает изготавливать деталь №1, тратит на ее изготовление 5 дней, и начинает изготавливать следующую деталь №2. Когда он закончит изготовление детали №1? Когда начнет изготавливать деталь №2? Казалось бы в обоих случаях ответ: через 5 рабочих дней после 01 апреля, т.е. к 01.04.2019 надо прибавить 5 рабочих дней. Но в первом случае ответ — 05.04.2019, а во втором — 08.04.2019.
Решение:
Решение поставленной задачи неожиданно получилось довольно простым.
Для учета рабочих графиков (производственных календарей) используем вспомогательный регистр сведений:
РабочийГрафик — ссылка на справочник «РабочиеГрафики» — если на предприятии используется несколько графиков (пятидневка, пятидневка с праздниками, семидневка и т.п.)
Дата — дата графика (без времени)
ЭтоРабочийДень — флаг рабочий/нерабочий день
КолВоДнейСНачалаПериода — Число рабочих дней, прошедших до начала даты записи, начиная с определенной, наперед заданной даты. В моем примере используется 01.01.2000.
Регистр необходимо заполнить на весь период, в пределах которого будут производится расчеты.
Теперь для нахождения разницы дат нам надо в регистре найти два числа, соответствующие этим датам и определить их разницу. Для добавления к дате некоторого числа рабочих дней, надо в регистре найти соответствующее дате число, добавить к нему число рабочих дней, и по результату найти в регистре соответствующую дату рабочего дня. Осталось учесть упомянутые выше сложности и получим следующее:
Примеры использования
Как видим запросы получаются довольно простыми, не используются ни временные таблицы, ни группировки с агрегатными функциями, ни постобработка. Ничего не мешает производить расчет в запросе для нескольких записей. В прилагаемом файле реализован пример отчета по выполненным работам: дана дата начала, предполагаемая плановая продолжительность работы и фактическая дата завершения, определяется плановая дата завершения и отставание факта от плана.
Может возникнуть вопрос: оправдано ли с точки зрения производительности использование дополнительного регистра такой структуры, ведь при изменении флага рабочего/выходного дня надо пересчитывать все записи с большей датой? Я считаю, что вполне. Во-первых, изменение производственного календаря происходит обычно не чаще одного раза в месяц, а полный пересчет и сохранение набора записей за 100 лет(
40000 записей) по выбранному графику занимает считанные секунды. А во-вторых, выгода от использования быстрого массового расчета как правило с лихвой перекроет все время, потраченное на предварительную подготовку.
А что же БСП?
Опытный разработчик, использующий БСП, может сказать: «Так ведь в БСП реализовано почти что то же самое!». Да, действительно в БСП есть аналогичный регистр:
Есть также программный интерфейс модулей «ГрафикиРаботы», «КалендарныеГрафики» с функциями «РазностьДатПоКалендарю», «ДатыПоГрафику» и т.п. Но если присмотреться, то можно увидеть, что в регистре имеется измерение «Год». То есть в этом регистре отсчет количества дней идет с начала каждого года. Когда мы работаем с датами в пределах одного года, то подход при расчете совпадает с рассмотренным. Но если даты попадают в разные года, а особенно если рассматривается промежуток в несколько лет, то алгоритм получается весьма сложным. Все интересующиеся могут самостоятельно сравнить объем программного кода в библиотеке и в предложенном решении. Скорее всего, разработчики БСП стремились к упрощению процедуры заполнения — каждый год рабочего графика заполняется отдельно и не зависит от других. Но в результате мы получаем существенное усложнение алгоритмов при решении практических задач. Я бы рекомендовал использовать регистры БСП как источник для заполнения регистра «РабочиеДни», а все дальнейшие операции производить уже с ним.
UPD 25.06.2019:
Для конфигураций с БСП добавлено заполнение регистра на основе данных из типовых объектов — регистра КалендарныеГрафики и справочника Календари. В процессе обработки заполняется регистр за период с 2000 г. по примерно 2109 г. — 40000 дней.
К статье приложена информационная база, в которой реализован описанный функционал, примеры отчетов, а также процедура заполнения и пересчета регистра.
Делим отпуск на части
Положения современного законодательства, а именно — статья ТК РФ, устанавливают, что право на оформление регулярного отпуска имеется абсолютно у каждого сотрудника, который работает по официальному договору в нашей стране. В данных положениях также устанавливается и общая продолжительность стандартного отдыха, которая равна 28 календарным дням. Если же говорить о более длительных отпускных периодах, то они могут быть представлены, но с определенными ограничениями. В частности, такие виды отпусков предоставляются лишь отдельным категориям сотрудников.
Изменение цветовой гаммы календаря Excel
Если при создании календаря использовать цвета темы, то потом их можно будет изменить одним простым движением. Просто сменив цвета темы на вкладке Разметка страницы. Выбирайте понравившийся.
В архив для скачивания помимо моего календаря, буду складывать календари других пользователей. Поблагодарить их можно ниже в комментариях. Если у вас также есть чем поделиться, укажите ссылку на свой вариант календаря в комментарии, я с удовольствием его добавлю.
Как начисляются деньги
Определяющим моментом при начислении отпускных является выбор расчетного периода. Иначе рабочего времени, выплаты в период которого, будут учитываться во время подсчетов отпускных. Как его выбрать:
- В общем случае – это 12-ть месяцев перед началом отпускного месяц.
- Если стаж на конкретном предприятии меньше года, то это фактически уже отработанное им время. С 1-го дня, по последнее число предшествующего отпуску месяца.
Из расчетных 12-ти месяцев учитывается только время, которое отработано фактически, с пребыванием на рабочем месте. То есть исключаются периоды:
- Все оплачиваемые по среднему командировки и отпуска.
- Нахождение лиц на больничном (для женщин плюс декрет).
- Отпуск без оплаты.
- Оплачиваемые выходные, например, по уходу за инвалидом.
- Пропуск работы по независящим ни от кого причинам.
Формула
Далее – расчет среднего заработка вдень. Для этого применяют коэффициент, эквивалентный среднему количеству дней в конкретном месяце. В этом году такое число – 29,3.
- Формула такая: Средний доход в день = полученный доход (за период)/12/29,3.
- Далее следует расчет отпускных по вот этой формуле: Отпускные = средний заработок (дневной)×дни отпуска.
Порядок расчета
А полный порядок расчета выглядит так:
- Выбор периода расчета.
- Подсчет суммарных выплат за данный период.
- Подсчет календарных дней участвующего в расчете периода.
- Расчет необходимых отпускных дней.
- Подсчет среднедневного заработка.
- Расчет отпускных.
Как происходит расчет отпускных, расскажет это видео:
Пример
Работник собрался в отпуск на 28-мь дней в мае. Расчет такой:
- Расчетный период: с 1-го июня прошлого года до 1-го мая этого.
- Суммарная зарплата – 400000 руб.
- Оплата по больничному – 14000 руб.
- Среднедневная оплата: (400000 – 14000)/12/29.3 = 1097,84 руб.
- Сумма отпускных: 1097,84×28 = 30739,5 руб.