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

Рабочие дни в Excel

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

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

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

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

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

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

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

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

Функция РАБДЕНЬ.МЕЖД в Эксель

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  1. Александр

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

    1. Александр Томм (Автор записи)

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

  2. Александр

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

    1. Александр Томм (Автор записи)

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

  3. Александр

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

  4. Оксана

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

    1. Александр Томм (Автор записи)

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

  5. Евгений

    Добрый день!

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

    1. Александр Томм (Автор записи)

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

  6. Сергей

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

    1. Александр Томм (Автор записи)

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

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *