В excel нет функции чистрабдни

ЧИСТРАБДНИ (функция ЧИСТРАБДНИ)

Excel для Microsoft 365 Excel для Microsoft 365 для Mac Excel для Интернета Excel 2021 Excel 2021 для Mac Excel 2019 Excel 2019 для Mac Excel 2016 Excel 2016 для Mac Excel 2013 Excel 2010 Excel 2007 Excel для Mac 2011 Excel Starter 2010 Еще…Меньше

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

Описание

Возвращает количество рабочих дней между датами «нач_дата» и «кон_дата». Праздники и выходные в это число не включаются. Функцию ЧИСТРАБДНИ можно использовать для вычисления заработной платы работника на основе количества дней, отработанных в указанный период.

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

Синтаксис

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

Аргументы функции ЧИСТРАБДНИ описаны ниже.

  • нач_дата    — обязательный аргумент. Начальная дата.

  • кон_дата    Обязательный. Конечная дата.

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

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

Замечания

  • В приложении Microsoft Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию 1 января 1900 г. имеет порядковый номер 1, а 1 января 2012 г. — 40909, так как от 1 января 1900 г. он отс0 до 40 909 дней.

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

Пример

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

Дата

Описание

01.10.2012

Дата начала проекта

01.03.2013

Дата окончания проекта

22.11.2012

Праздник

04.12.2012

Праздник

21.01.2012

Праздник

Формула

Описание

Результат

=ЧИСТРАБДНИ(A2;A3)

Число рабочих дней между датой начала (01.10.2012) и датой окончания (01.03.2013).

110

=ЧИСТРАБДНИ(A2;A3;A4)

Число рабочих дней между датой начала (01.10.2012) и датой окончания (01.03.2013) с вычетом праздничного дня 22.11.2012 как выходного.

109

=ЧИСТРАБДНИ(A2;A3;A4:A6)

Число рабочих дней между датой начала (01.10.2012) и датой окончания (01.03.2013) с вычетом трех праздничных дней.

107

К началу страницы

Нужна дополнительная помощь?

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

  • Как посчитать количество рабочих дней между двумя датами функцией ЧИСТРАБДНИ
  • Функция ЧИСТРАБДНИ.МЕЖД — когда полезно использовать
  • Для чего нужны функции РАБДЕНЬ и РАБДЕНЬ.МЕЖД

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

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

Синтаксис функции:

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

нач_дата и кон_дата — начальная и конечная даты диапазона. Конечная дата обязательно должна быть больше начальной.

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

Конечно, в качестве аргумента [праздники] можно указывать не только праздничные дни, а любые дни, которые нужно исключить из числа рабочих дней.

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

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

  • Без учета праздников (аргумент [праздники] не указан)

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

Как видите, формула посчитала количество будних дней (понедельник-пятница), не учитывая, что 2-3 и 9-10 мая — это нерабочие дни в связи с праздниками.

  • С учетом аргумента [праздники]

Чтобы из количества рабочих дней исключить нерабочие праздничные дни (или любые другие дни, которые нужно исключить), сначала нужно сделать отдельный список праздничных дней.

Затем добавим в формулу аргумент [праздники]. Обратите внимание, что ссылки на диапазон лучше закрепить абсолютными ссылками.

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

Другой вариант — создать именованный диапазон для ячеек с датами праздничных дней. Для этого нужно выделить диапазон ячеек, в поле имени указать нужное имя и нажать Enter.

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

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

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

Функция ЧИСТРАБДНИ.МЕЖД — когда полезно использовать

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

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

Синтаксис функции:

=ЧИСТРАБДНИ.МЕЖД(нач_дата; кон_дата; [выходные]; [праздники])

Аргументы нач_дата, кон_дата и [праздники] — аналогичны функции ЧИСТРАБДНИ.

[выходные] — необязательный аргумент, в котором нужно выбрать код дней недели для выходных дней. Этот аргумент принимает числовой код, в котором зашифрованы дни недели.

количество рабочих дней между двумя датами
Давайте рассмотрим ее на примере. В качестве выходных выберем дни Среда и Четверг. 

На календаре зеленым закрашены дни, которые формула посчитала рабочими.

Из диапазона дней между датами 01.05.2022 и 20.05.2022 вычтены праздничные дни (диапазон “праздники” из предыдущего примера) и выходные дни (в данном примере СР и ЧТ).

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

Для чего нужны функции РАБДЕНЬ и РАБДЕНЬ.МЕЖД 

Функция РАБДЕНЬ фактически является зеркальной для функции ЧИСТРАБДНИ:

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

Синтаксис функции:

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

нач_дата — начальная дата, от которой будет отсчитываться количество рабочих дней

число дней — число рабочих дней, которое будет прибавлено к начальной дате.

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

Рассмотрим пример использования функции РАБДЕНЬ. Количество дней укажем 15. Обратите внимание: количество дней мы взяли из результата вычисления функции ЧИСТРАБДНИ, а результат получили равный второму аргументу функции (кон_дата) ЧИСТРАБДНИ — 20.05.2021. Именно поэтому эти функции считаются зеркальными.

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

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

Использование аргумента [праздники] — такое же, как в функции ЧИСТРАБДНИ. Праздники можно указать ссылкой на ячейки или именованным диапазоном.

Пример использования функции РАБДЕНЬ с аргументом [праздники].

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

Функция РАБДЕНЬ.МЕЖД аналогична функции РАБДЕНЬ, только есть возможность указать альтернативные выходные дни (аналогично функции ЧИСТРАБДНИ.МЕЖД). 

Синтаксис функции:

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

Числовые коды для аргумента [праздники] аналогичны кодам для функции ЧИСТРАБДНИ.МЕЖД (см. выше в этой статье).

Рассмотрим пример использования функции РАБДЕНЬ.МЕЖД. Начальная дата 01.05.2022, количество дней — 15, в качестве выходных дней укажем аргумент 2 (ВС, ПН), праздники — именованный диапазон “праздники” из предыдущих примеров.

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

Зеленым цветом закрашены указанное количество рабочих дней — 15. Следовательно, дата, которая отстает от 01.05.2022 на 15 дней с учетом выходных ВС и ПН и праздничных дней — 25.05.2022.

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

Мы ВКонтакте

Вам может быть интересно:

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

Использование функции ЧИСТРАБДНИ

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

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

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

  3. В пустом месте объявите создание формулы при помощи знака = и напишите ЧИСТРАБДНИ.Объявление формулы для расчета рабочих дней при помощи функции ЧИСТРАБДНИ в Microsoft Excel

  4. В качестве первого аргумента объявите ячейку, где указано начало даты вычислений.Ввод первого аргумента для расчета рабочих дней при помощи функции ЧИСТРАБДНИ в Microsoft Excel

  5. После знака ; укажите конечную дату.Ввод второго аргумента для расчета рабочих дней при помощи функции ЧИСТРАБДНИ в Microsoft Excel

  6. Если праздники отсутствуют, формулу можно закрыть и нажать Enter, чтобы применить внесенные изменения. В результате вы увидите число, показывающее количество рабочих дней в заданном промежутке.Просмотр результата для расчета рабочих дней при помощи функции ЧИСТРАБДНИ в Microsoft Excel

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

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

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

Комьюнити теперь в Телеграм

Подпишитесь и будьте в курсе последних IT-новостей

Подписаться

Использование функции ЧИСТРАБДНИ.МЕЖД

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

  1. Вместо описанной выше функции на этот раз объявите ЧИСТРАБДНИ.МЕЖД.Объявление формулы для расчета рабочих дней при помощи функции ЧИСТРАБДНИ.МЕЖД в Microsoft Excel

  2. Я перейду в окно аргументов, чтобы наглядно рассказать о синтаксисе. В первых двух полях вы указываете дату начала и конца диапазона, как это было показано ранее.Ввод промежутка времени для расчета рабочих дней при помощи функции ЧИСТРАБДНИ.МЕЖД в Microsoft Excel

  3. Выходные указываются как число, где 1 – суббота, воскресенье, 2 – воскресенье, понедельник, 3 – понедельник, вторник и так далее. Об этих числах я еще расскажу позже.Ввод числа выходных для расчета рабочих дней при помощи функции ЧИСТРАБДНИ.МЕЖД в Microsoft Excel

  4. Праздники обозначаются точно так же, как и в предыдущем случае.Ввод праздников для расчета рабочих дней при помощи функции ЧИСТРАБДНИ.МЕЖД в Microsoft Excel

  5. В результате у вас получится похожая формула, но с одним изменением, которое заключается в самостоятельном выборе выходных дней.Результат применения формулы расчета рабочих дней при помощи функции ЧИСТРАБДНИ.МЕЖД в Microsoft Excel

Теперь поговорим непосредственно о тех числах, которые указываются как выходные. У Microsoft есть своя система распределения, первую часть которой я уже описал в одном из предыдущих шагов. Можно указать как выходные два дня подряд или только определенный день недели. Полный список числовых обозначений вы найдете на официальной странице поддержки Microsoft.

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

РАЗНДАТ(. ) / DATEDIF(. )

Вычисляет количество дней, месяцев или лет между двумя датами.

ЭТОГО НЕТ В ОФИЦИАЛЬНОЙ СПРАВКЕ EXCEL:

Собственно говоря, самой функции РАЗНДАТ нет в справке Excel. Более того нет её и в мастере функций. И при наборе вручную первых букв названия функции Excel тоже не покажет подсказку в выпадающем списке. Объясняется это довольно просто. Эта функция изначально не является функцией Excel. Она всего лишь поддерживается Excel для совместимости с другими системами электронных таблиц. В Excel эта функция попала из электронных таблиц Lotus 1-2-3. НО работает эта функция в любой версии Excel

СИНТАКСИС:

=РАЗНДАТ(нач_дата;кон_дата;код)

АРГУМЕНТЫ:

1. нач_дата — нач альная дата.
2. кон_дата — конечная дата.
3. код — текстовое значение, которое указывает в каких единицах необходимо вернуть разницу дат.

Список допустимых значений аргумента «КОД»
КОД ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ
«Г» «Y» Число полных лет в периоде.
«М» «M» Число полных месяцев в периоде.
«Д» «D» Число дней в периоде.
«МД» «MD» Разница между днями дат нач_дата и кон_дата. Месяцы и годы дат игнорируются.
«ГМ» «YM» Разница между месяцами дат нач_дата и кон_дата. Дни и годы дат игнорируются.
«ГД» «YD» Разница между днями дат нач_дата и кон_дата. Годы дат игнорируются.

ОГРАНИЧЕНИЯ:

Если аргумент кон_дата соответствует более ранней дате чем аргумент нач_дата функция вернёт значение ошибки #ЧИСЛО.
Если какой-либо из аргументов нач_дата или кон_дата не являются допустимой датой, то функция вернёт значение ошибки #ЗНАЧ.

Расчет количества дней между датами в Эксель

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

Расчет разности дат

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

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

    Для начала выделяем целевой диапазон ячеек, воспользовавшись зажатой левой кнопкой мыши.

Формат ячеек - Дата

  • по умолчанию мы должны оказаться во вкладке “Число” (если это не так, переключаемся в нее);
  • в списке “Числовые форматы” находим позицию “Дата” и кликаем на нее;
  • в поле “Тип” выбираем нужный образец представления данных, в соответствии с которым они будут отображаться на листе;
  • нажимаем OK.

Метод 1: использование формулы вычитания

Начнем, пожалуй, с самого простого способа – вычитания двух дат, представленного в виде обычной формулы.

  1. Вносим две даты, между которыми будем определять разницу в днях, в две разные ячейки отформатированного ранее диапазона.Количество дней между двумя датами в Эксель
  2. Теперь выделим ячейку, в которой планируем отобразить результат нашего вычисления.
    Определение количества дней между двумя датами в ЭксельВАЖНО: Количество дней обозначается простым целым числом, следовательно, ячейка для его вывода должна иметь отличный от “Дата” формат, а именно – “Общий“. В противном случае полученный результат будет отображаться в формате даты, что не позволит оценить корректность проведенных вычислений. Для определения текущего формата ячейки достаточно взглянуть на соответствующее поле, расположенное в разделе инструментов “Число” на ленте вкладки “Главная“.

Формула расчета количества дней между датами в Эксель

  • в итоговую ячейку вводим знак “=“;
  • кликаем по ячейке с конечной датой (более поздней);
  • вводим с клавиатуры символ “” (знак минус);
  • кликаем по ячейке с начальной датой.

Метод 2: функция РАЗНДАТ

Следующий способ – это определение разницы между двумя датами при помощи функции РАЗНДАТ.

Функция имеет следующий синтаксис: =РАЗНДАТ(начальная_дата;конечная_дата;единица).

Если с двумя первыми аргументами все понятно – их суть соответствует названию, то на третьем (“единица“) стоит остановиться подробнее, так как именно он позволяет варьировать результат использования функции, выбирая единицу расчета разницы между датами:

  • d” — количество дней между датами;
  • m” — количество полных месяцев между датами;
  • y” — количество полных лет между датами;
  • YM” — разница между датами в месяцах;
  • MD” — разница между датами в днях, без учета месяцев и лет;
  • YD” — разница между датами в днях, без учета лет.

В нашем случае покажем пример использование аргумента “YD”, так как целью расчета является определение количества дней между датами в пределах года.

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

  1. Выбираем целевую ячейку, проверяем ее формат по способу, описанному выше.
  2. Описываемая функция отсутствует в Мастере функций, поэтому вводим ее в ячейку вручную, строго придерживаясь синтаксиса.Формула функции РАЗНДАТ в Эксель
  3. Жмем Enter и проверяем полученный результат. Как мы видим, он аналогичен тому, который мы получили, используя простую формулу вычитания. Значит все сделано верно.Разница между двумя датами с помощью функции РАЗНДАТ

Метод 3: функция ЧИСТРАБДНИ для определения количества рабочих дней

Третий описываемый метод позволяет вычислить количество дней с дополнительным условием – исключением из него нерабочих (выходных и праздничных) дней.

В данном методе используется функция ЧИСТРАБДНИ со следующим синтаксисом: =ЧИСТРАБДНИ(нач_дата;кон_дата;[праздники]).

Первые два аргумента аналогичны функции РАЗНДАТ. Последний аргумент является опциональным, то есть функция будет работать и без его указания. Однако именно он позволяет учесть в критериях вычисления нерабочие праздничные дни, так как по умолчанию из общего количества уберутся только субботы и воскресенья.

Приступаем к вычислениям:

  1. Так как описываемая функция присутствует в списке Мастера функций, воспользуемся им для большей наглядности: встаем на ячейку, куда будем выводить результат и щелкаем по кнопке “Вставить функцию” (fx), расположенной слева от строки формул.Вычисление количества рабочих дней между двумя датами
  2. В открывшемся окне Мастера функций:
    • выбираем категорию “Полный алфавитный перечень”;
    • находим и кликаем в списке операторов по строке “ЧИСТРАБДНИ”;
    • нажимаем ОК.Функция ЧИСТРАБДНИ в Эксель
  3. Перед нами появится окно аргументов функции. Здесь можно ввести адреса ячеек вручную или, находясь в поле для заполнения значений аргумента, кликнуть по нужной ячейке на листе. Выбрав начальную и конечную дату, а также указав праздничный день (адрес ячейки), нажимаем ОК.Аргументы функции ЧИСТРАБДНИ в Эксель
  4. Предположим, в этот раз мы заранее не задали формат итоговой ячейки как “Общий”. Тогда мы получим результат, отображающийся в виде даты.Количество рабочих дней между двумя датами с помощью функции ЧИСТРАБДНИ
  5. Следовательно, необходимо снова проверить формат по алгоритму, описанному выше и изменить его на “Общий”.Вычисление количества рабочих дней между двумя датами с помощью функции ЧИСТРАБДНИ

Заключение

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

Функция РАЗНДАТ() — Вычисление разности двух дат в днях, месяцах, годах в EXCEL

Если Вам требуется рассчитать стаж (страховой) в годах, месяцах, днях, то, пожалуйста, воспользуйтесь расчетами выполненными в статье Расчет страхового (трудового) стажа в MS EXCEL .

Функции РАЗНДАТ( ) нет в справке EXCEL2007 и в Мастере функций ( SHIFT + F 3 ), но она работает, хотя и не без огрех.

Синтаксис функции:

РАЗНДАТ(начальная_дата; конечная_дата; способ_измерения)

Аргумент начальная_дата должна быть раньше аргумента конечная_дата .

Аргумент способ_измерения определяет, как и в каких единицах будет измеряться интервал между начальной и конечной датами. Этот аргумент может принимать следующие значения:

Значение

Описание

разница в полных месяцах

разница в полных годах

разница в полных месяцах без учета лет

разница в днях без учета месяцев и лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение, если день начальной даты больше дня конечной даты (например, в EXCEL 2007 при сравнении дат 28.02.2009 и 01.03.2009 результат будет 4 дня, а не 1 день). Избегайте использования функции с этим аргументом. Альтернативная формула приведена ниже.

разница в днях без учета лет ВНИМАНИЕ! Функция для некоторых версий EXCEL возвращает ошибочное значение. Избегайте использования функции с этим аргументом.

Ниже приведено подробное описание всех 6 значений аргумента способ_измерения , а также альтернативных формул (функцию РАЗНДАТ() можно заменить другими формулами (правда достаточно громоздкими). Это сделано в файле примера ).

В файле примера значение аргумента начальная_дата помещена в ячейке А2 , а значение аргумента конечная_дата – в ячейке В2 .

1. Разница в днях («d»)

Формула =РАЗНДАТ(A2;B2;»d») вернет простую разницу в днях между двумя датами.

Пример1: начальная_дата 25.02.2007, конечная_дата 26.02.2007 Результат: 1 (день).

Этот пример показыват, что при подсчете стажа необходимо использовать функцию РАЗНДАТ() с осторожностью. Очевидно, что если сотрудник работал 25 и 26 февраля, то отработал он 2 дня, а не 1. То же относится и к расчету полных месяцев (см. ниже).

Пример2: начальная_дата 01.02.2007, конечная_дата 01.03.2007 Результат: 28 (дней)

Пример3: начальная_дата 28.02.2008, конечная_дата 01.03.2008 Результат: 2 (дня), т.к. 2008 год — високосный

Эта формула может быть заменена простым выражением =ЦЕЛОЕ(B2)-ЦЕЛОЕ(A2) . Функция ЦЕЛОЕ() округляет значение до меньшего целого и использована для того случая, если исходные даты введены вместе с временем суток ( РАЗНДАТ() игнорирует время, т.е. дробную часть числа, см. статью Как Excel хранит дату и время ).

Примечание : Если интересуют только рабочие дни, то к оличество рабочих дней между двумя датами можно посчитать по формуле =ЧИСТРАБДНИ(B2;A2)

2. Разница в полных месяцах («m»)

Формула =РАЗНДАТ(A2;B2;»m») вернет количество полных месяцев между двумя датами.

Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2007 Результат: 1 (месяц)

Пример2: начальная_дата 01.03.2007, конечная_дата 31.03.2007 Результат: 0

При расчете стажа, считается, что сотрудник отработавший все дни месяца — отработал 1 полный месяц. Функция РАЗНДАТ() так не считает!

Пример3: начальная_дата 01.02.2007, конечная_дата 01.03.2009 Результат: 25 месяцев

Формула может быть заменена альтернативным выражением: =12*(ГОД(B2)-ГОД(A2))-(МЕСЯЦ(A2)-МЕСЯЦ(B2))-(ДЕНЬ(B2)

Внимание : В справке MS EXCEL (см. раздел Вычисление возраста) имеется кривая формула для вычисления количества месяце между 2-мя датами:

Если вместо функции ТДАТА() — текущая дата использовать дату 31.10.1961, а в А3 ввести 01.11.1962, то формула вернет 13, хотя фактически прошло 12 месяцев и 1 день (ноябрь и декабрь в 1961г. + 10 месяцев в 1962г.).

3. Разница в полных годах («y»)

Формула =РАЗНДАТ(A2;B2;»y») вернет количество полных лет между двумя датами.

Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2009 Результат: 2 (года)

Пример2: начальная_дата 01.04.2007, конечная_дата 01.03.2009 Результат: 1 (год)

Подробнее читайте в статье Полный возраст или стаж .

Формула может быть заменена альтернативным выражением: =ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))

4. Разница в полных месяцах без учета лет («ym»)

Формула =РАЗНДАТ(A2;B2;»ym») вернет количество полных месяцев между двумя датами без учета лет (см. примеры ниже).

Пример1: начальная_дата 01.02.2007, конечная_дата 01.03.2009 Результат: 1 (месяц), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.02. 2009 (год начальной даты заменяется годом конечной даты, т.к. 01.02 меньше чем 01.03)

Пример2: начальная_дата 01.04.2007, конечная_дата 01.03.2009 Результат: 11 (месяцев), т.к. сравниваются конечная дата 01.03.2009 и модифицированная начальная дата 01.04. 2008 (год начальной даты заменяется годом конечной даты за вычетом 1 года , т.к. 01.04 больше чем 01.03)

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

Формула может быть заменена альтернативным выражением: =ОСТАТ(C7;12) В ячейке С7 должна содержаться разница в полных месяцах (см. п.2).

5. Разница в днях без учета месяцев и лет («md»)

Формула =РАЗНДАТ(A2;B2;»md») вернет количество дней между двумя датами без учета месяцев и лет. Использовать функцию РАЗНДАТ() с этим аргументом не рекомендуется (см. примеры ниже).

Пример1: начальная_дата 01.02.2007, конечная_дата 06.03.2009 Результат1: 5 (дней), т.к. сравниваются конечная дата 06.03.2009 и модифицированная начальная дата 01. 03 . 2009 (год и месяц начальной даты заменяется годом и месяцем конечной даты, т.к. 01 меньше чем 06)

Пример2: начальная_дата 28.02.2007, конечная_дата 28.03.2009 Результат2: 0, т.к. сравниваются конечная дата 28.03.2009 и модифицированная начальная дата 28. 03 . 2009 (год и месяц начальной даты заменяется годом и месяцем конечной даты)

Пример3: начальная_дата 28.02.2009, конечная_дата 01.03.2009 Результат3: 4 (дня) — совершенно непонятный и НЕПРАВИЛЬНЫЙ результат. Ответ должен быть =1. Более того, результат вычисления зависит от версии EXCEL.

Версия EXCEL 2007 с SP3:

Результат – 143 дня! Больше чем дней в месяце!

Версия EXCEL 2007:

Разница между 28.02.2009 и 01.03.2009 – 4 дня!

Причем в EXCEL 2003 с SP3 формула возвращает верный результат 1 день. Для значений 31.12.2009 и 01.02.2010 результат вообще отрицательный (-2 дня)!

Не советую использовать формулу с вышеуказанным значением аргумента. Формула может быть заменена альтернативным выражением: =ЕСЛИ(ДЕНЬ(A2)>ДЕНЬ(B2); ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B2;-1);0))-ДЕНЬ(A2)+ДЕНЬ(B2); ДЕНЬ(B2)-ДЕНЬ(A2))

Данная формула лишь эквивалетное (в большинстве случаев) выражение для РАЗНДАТ() с параметром md. О корректности этой формуле читайте в разделе «Еще раз о кривизне РАЗНДАТ()» ниже.

6. Разница в днях без учета лет («yd»)

Формула =РАЗНДАТ(A2;B2;»yd») вернет количество дней между двумя датами без учета лет. Использовать ее не рекомендуется по причинам, изложенным в предыдущем пункте.

Результат, возвращаемый формулой =РАЗНДАТ(A2;B2;»yd») зависит от версии EXCEL.

Формула может быть заменена альтернативным выражением: =ЕСЛИ(ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2))>B2; B2-ДАТА(ГОД(B2)-1;МЕСЯЦ(A2);ДЕНЬ(A2)); B2-ДАТА(ГОД(B2);МЕСЯЦ(A2);ДЕНЬ(A2)))

Еще раз о кривизне РАЗНДАТ()

Найдем разницу дат 16.03.2015 и 30.01.15. Функция РАЗНДАТ() с параметрами md и ym подсчитает, что разница составляет 1 месяц и 14 дней. Так ли это на самом деле?

Имея формулу, эквивалентную РАЗНДАТ() , можно понять ход вычисления. Очевидно, что в нашем случае количество полных месяцев между датами = 1, т.е. весь февраль. Для вычисления дней, функция находит количество дней в предыдущем месяце относительно конечной даты, т.е. 28 (конечная дата принадлежит марту, предыдущий месяц — февраль, а в 2015г. в феврале было 28 дней). После этого отнимает день начала и прибавляет день конечной даты = ДЕНЬ(КОНМЕСЯЦА(ДАТАМЕС(B6;-1);0))-ДЕНЬ(A6)+ДЕНЬ(B6) , т.е. 28-30+16=14. На наш взгляд, между датами все же 1 полный месяц и все дни марта, т.е 16 дней, а не 14! Эта ошибка проявляется, когда в предыдущем месяце относительно конечной даты, дней меньше, чем дней начальной даты. Как выйти из этой ситуации?

Модифицируем формулу для расчета дней разницы без учета месяцев и лет:

При применении новой функции необходимо учитывать, что разница в днях будет одинаковой для нескольких начальных дат (см. рисунок выше, даты 28-31.01.2015). В остальных случаях формулы эквивалентны. Какую формулу применять? Это решать пользователю в зависимости от условия задачи.

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

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

Содержание

  1. Что возвращает функция
  2. Синтаксис
  3. Аргументы функции
  4. Дополнительная информация
  5. Примеры использования функции NETWORKDAYS (ЧИСТРАБДНИ) в Excel
  6. Пример №1. Вычисляем количество рабочих дней из диапазона дат (исключая выходные)
  7. Пример № 2. Вычисляем количество рабочих дней из диапазона дат (исключая выходные и праздники)

Что возвращает функция

Положительное целое число, равное количеству рабочих дней между двумя датами.

Синтаксис

=NETWORKDAYS(start_date, end_date, [holidays])

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

Аргументы функции

  • start_date (нач_дата) — дата, с которой начинается вычисление по формуле;
  • end_date (кон_дата) — дата, вплоть до которой необходимо провести вычисление;
  • [holidays] ([праздники]) — (при необходимости) — это диапазон дат, который может быть исключен из расчета. Например, это могут быть национальные / государственные праздники. Значение может быть ссылкой на диапазон ячеек, который содержит даты для исключения.

Дополнительная информация

  • Суббота и воскресенье считаются выходными днями по умолчанию. В случае, если вы хотите, чтобы выходные дни считались как рабочие дни, используйте функцию NETWORKDAYS.INTL. (ЧИСТРАБДНИ.МЕЖД).
  • Данные в функции могут быть использованы в следующих форматах:
    — как результат какого-либо вычисления или формулы;
    — данные в формате даты;
    — дата, введенная в текстовом формате (в кавычках).

Примеры использования функции NETWORKDAYS (ЧИСТРАБДНИ) в Excel

Пример №1. Вычисляем количество рабочих дней из диапазона дат (исключая выходные)

Telegram Logo Больше лайфхаков в нашем Telegram Подписаться

funkciya-networdays-chistrabdni-excel

В приведенном выше примере, функция Excel NETWORKDAYS (ЧИСТРАБДНИ) вычисляет количество дней между 20 декабря и 10 января, исключая выходные дни (суббота и воскресенье) и возвращает “15” в качестве результата.

Пример № 2. Вычисляем количество рабочих дней из диапазона дат (исключая выходные и праздники)

funkciya-networdays-chistrabdni-excel

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

Здесь, мы указали 2 дня праздничных. Обратите внимание, что эти два праздника выпадают на будние дни (25 декабря 2015 и 1 января 2016 — это пятница). В случае, если праздник приходится на выходной день, он не учитывается в качестве исключения (как выходные, так или иначе не учитываются).

На примере выше, если вы измените 01 Января 2016 (пятница) на 02 Января 2016 года (суббота), то результат изменится до 14.

 

Доброго времени суток. Of 2003. Нету функции. ЧИСТРАБДНИ. Скиньте код, или посоветуйте что сделать.
За ранее спс.

 

KuklP

Пользователь

Сообщений: 14868
Регистрация: 21.12.2012

E-mail и реквизиты в профиле.

Код чего скинуть?  :D Попробуйте подключить пакет анализа.

Я сам — дурнее всякого примера! …

 

Юрий М

Модератор

Сообщений: 60577
Регистрация: 14.09.2012

Контакты см. в профиле

Фрезератор, ну что за название? Вы просто написали имя одной из функций в Excel. Исправил, а впредь подобные темы буду удалять.

 

Фрезератор

Пользователь

Сообщений: 172
Регистрация: 24.12.2012

#4

17.10.2013 08:24:56

Ок, Юрий. На будущее учту. У меня в Excel нет функции ЧИСТРАБДНИ. Если есть стандартная функция, то не хотелось бы её писать самому. Зачем выдумывать велосипед. И задал такой не суразный вопрос.
 /Попробуйте подключить пакет анализа./ За совет спасибо. До ставил компонент, всё появилось. Большое спс.

Содержание

  • ЧИСТРАБДНИ Обзор функции
  • Рассчитать рабочие / рабочие дни
  • NETWORKDAYS в Google Таблицах
  • ЧИСТРАБДНИ Примеры в VBA

Скачать пример рабочей книги

Загрузите образец книги

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

ЧИСТРАБДНИ Обзор функции

Функция ЧИСТРАБДНИ Возвращает количество рабочих дней между двумя датами. Рабочие дни включают пн-пт, исключая сб-вс. По желанию можно исключить праздники.

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

(Обратите внимание, как появляются входные данные формулы)

Синтаксис и входные данные функции ЧИСТРАБДНИ:

1 = ЧИСТРАБДНИ (начальная_дата, конечная_дата, праздники)

Дата начала — Дата начала в формате серийного номера Excel или введенная как дата с цитатами вокруг даты. Пример: нельзя вводить 11.12.2015 прямо в ячейку. Вместо этого вам нужно ввести «11/12/2015», или вам нужно будет использовать соответствующий серийный номер: 42320. В качестве альтернативы вы можете указать ячейку с введенной датой 11/12/2015. Excel автоматически преобразует даты, хранящиеся в ячейках, в последовательный формат (если дата не вводится как текст).

Дата окончания — Конечная дата в формате серийного номера Excel или введенная как дата с кавычками вокруг даты. Пример: нельзя вводить 11.12.2015 прямо в ячейку. Вместо этого вам нужно ввести «11/12/2015», или вам нужно будет использовать соответствующий серийный номер: 42320. В качестве альтернативы вы можете указать ячейку с введенной датой 11/12/2015. Excel автоматически преобразует даты, хранящиеся в ячейках, в последовательный формат (если дата не вводится как текст).

каникулы — ПО ЖЕЛАНИЮ. Список праздников, которые нужно исключить из «рабочих дней». Его можно ввести как список серийных номеров, соответствующих праздникам. Кроме того, он может ссылаться на диапазон ячеек, содержащих даты праздников. Пример: 42005,42189,42363 или A1: A3, ссылка на ячейки, содержащие даты: 01.01.2015, 04.07.2015, 25.12.2015.

Рассчитать рабочие / рабочие дни

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

Если end_date раньше start_date NETWORKDAYS вернет отрицательное значение:

Чтобы вернуть абсолютное количество рабочих дней, используйте функцию ABS:

1 = ABS (ЧИСТЫЕ ДНИ (B4; C4)

По умолчанию NETWORKDAYS игнорирует все праздники. Однако вы можете использовать третий необязательный аргумент для определения диапазона праздников:

1 = ЧИСТРАБДНИ (B4; C4; F3: F4)

NETWORKDAYS в Google Таблицах

Функция ЧИСТРАБДНИ в Google Таблицах работает точно так же, как и в Excel:

ЧИСТРАБДНИ Примеры в VBA

Вы также можете использовать функцию ЧИСТРАБДНИ в VBA. Тип:
application.worksheetfunction.networkdays (начальная_дата, конечная_дата, праздники)

Выполнение следующих операторов VBA

1234567891011121314 Диапазон («C2») = Application.WorksheetFunction.Days360 (Диапазон («A2»), Диапазон («B2»), Ложь)Диапазон («C3») = Application.WorksheetFunction.Days360 (Диапазон («A3»), Диапазон («B3»), Ложь)Диапазон («C4») = Application.WorksheetFunction.Days360 (Диапазон («A4»), Диапазон («B4»), Ложь)Диапазон («C5») = Application.WorksheetFunction.Days360 (Диапазон («A5»), Диапазон («B5»), Ложь)Диапазон («D2») = Application.WorksheetFunction.Days (Диапазон («B2»), Диапазон («A2»))Диапазон («D3») = Application.WorksheetFunction.Days (Диапазон («B3»), Диапазон («A3»))Диапазон («D4») = Application.WorksheetFunction.Days (Диапазон («B4»), Диапазон («A4»))Диапазон («D5») = Application.WorksheetFunction.Days (Диапазон («B5»), Диапазон («A5»))Диапазон («E2») = Application.WorksheetFunction.NetworkDays (Диапазон («A2»), Диапазон («B2»))Диапазон («E3») = Application.WorksheetFunction.NetworkDays (Диапазон («A3»), Диапазон («B3»))Диапазон («E4») = Application.WorksheetFunction.NetworkDays (Диапазон («A4»), Диапазон («B4»))Диапазон («E5») = Application.WorksheetFunction.NetworkDays (Диапазон («A5»), Диапазон («B5»))

даст следующие результаты

Для аргументов функции (начальная_дата и т. Д.) Вы можете либо ввести их непосредственно в функцию, либо определить переменные для использования вместо них.

Вернуться к списку всех функций в Excel

Вы поможете развитию сайта, поделившись страницей с друзьями

Формула для excel 2007 подсчет кал. дней без праздников

ASWP

Дата: Среда, 09.05.2018, 12:07 |
Сообщение № 1

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 183


Репутация:

24

±

Замечаний:
0% ±


Excel 2007

Добрый день. В excel 2010 можно использовать функцию ЧИСТРАБДНИ.МЕЖД, но ее нет в excel 2007.

Код

=ЧИСТРАБДНИ.МЕЖД(A1;B1;»0000011″;праздники)

Какой формулой это можно реализовать в excel 2007?


я знаю что ничего не знаю, но другие не знают и этого

 

Ответить

abtextime

Дата: Среда, 09.05.2018, 12:42 |
Сообщение № 2

Группа: Проверенные

Ранг: Ветеран

Сообщений: 828


Репутация:

117

±

Замечаний:
0% ±


Excel 2010

Может я чего-то не понимаю, но

Код

=ЧИСТРАБДНИ(A1;B1;праздники)

эквивалентна Вашей формуле, и эта функция есть в Excel 2007

 

Ответить

ASWP

Дата: Среда, 09.05.2018, 13:39 |
Сообщение № 3

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 183


Репутация:

24

±

Замечаний:
0% ±


Excel 2007

=ЧИСТРАБДНИ.МЕЖД(A1;B1;»0000011″;праздники)

Не много ошибся с формулой

Код

=ЧИСТРАБДНИ.МЕЖД(A1;B1;»0000000″;праздники)

Я хочу чтобы считались все дни и выходные тоже , но без праздников.


я знаю что ничего не знаю, но другие не знают и этого

Сообщение отредактировал ASWPСреда, 09.05.2018, 15:21

 

Ответить

abtextime

Дата: Среда, 09.05.2018, 13:49 |
Сообщение № 4

Группа: Проверенные

Ранг: Ветеран

Сообщений: 828


Репутация:

117

±

Замечаний:
0% ±


Excel 2010

Ну тогда правильным вариантом использования ЧИСТРАБДНИ.МЕЖД в Вашем случае было бы

Код

=ЧИСТРАБДНИ.МЕЖД(A1;B1;»0000000″;праздники)

а не «0000011»

 

Ответить

abtextime

Дата: Среда, 09.05.2018, 13:51 |
Сообщение № 5

Группа: Проверенные

Ранг: Ветеран

Сообщений: 828


Репутация:

117

±

Замечаний:
0% ±


Excel 2010

Напишите содержательно, что Вы хотите считать. Разумеется, можно написать UDF — аналог ЧИСТРАБДНИ.МЕЖД

 

Ответить

ASWP

Дата: Среда, 09.05.2018, 14:06 |
Сообщение № 6

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 183


Репутация:

24

±

Замечаний:
0% ±


Excel 2007

Вот что я хочу получить в excel 2007, на примере 2010.


я знаю что ничего не знаю, но другие не знают и этого

Сообщение отредактировал ASWPСреда, 09.05.2018, 14:07

 

Ответить

abtextime

Дата: Среда, 09.05.2018, 14:21 |
Сообщение № 7

Группа: Проверенные

Ранг: Ветеран

Сообщений: 828


Репутация:

117

±

Замечаний:
0% ±


Excel 2010

Пожалуйста

[vba]

Код

Public Function БезПраздников(D1, D2 As Date, Celebrations As Range)

   БезПраздников = D2 — D1 + 1

        For Each R In Celebrations

            If R.Value >= D1 And R.Value <= D2 Then БезПраздников = БезПраздников — 1

        Next R

End Function

[/vba]

 

Ответить

ASWP

Дата: Среда, 09.05.2018, 15:22 |
Сообщение № 8

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 183


Репутация:

24

±

Замечаний:
0% ±


Excel 2007


Спасибо, а просто формулами это можно реализовать?


я знаю что ничего не знаю, но другие не знают и этого

 

Ответить

abtextime

Дата: Среда, 09.05.2018, 15:37 |
Сообщение № 9

Группа: Проверенные

Ранг: Ветеран

Сообщений: 828


Репутация:

117

±

Замечаний:
0% ±


Excel 2010


Лично для меня это сложнее. А в чем проблема UDF использовать?

 

Ответить

Pelena

Дата: Среда, 09.05.2018, 15:45 |
Сообщение № 10

Группа: Админы

Ранг: Местный житель

Сообщений: 18797


Репутация:

4284

±

Замечаний:
±


Excel 2016 & Mac Excel

Варианты
[vba]

Код

=ЕСЛИ(A1*B1;B1-A1+1-СУММПРОИЗВ((A1<=праздники!holidays_dates)*(B1>=праздники!holidays_dates));»»)

[/vba]
[vba]

Код

=ЕСЛИ(A1*B1;B1-A1+1-СЧЁТЕСЛИМН(праздники!holidays_dates;»>=»&A1;праздники!holidays_dates;»<=»&B1);»»)

[/vba]

К сообщению приложен файл:

7242525.xlsx
(10.3 Kb)


«Черт возьми, Холмс! Но как??!!»
Ю-money 41001765434816

 

Ответить

abtextime

Дата: Среда, 09.05.2018, 15:56 |
Сообщение № 11

Группа: Проверенные

Ранг: Ветеран

Сообщений: 828


Репутация:

117

±

Замечаний:
0% ±


Excel 2010

У меня такая формула нарисовалась, на данном примере всё ОК, но головой бы не стал за ее правильность ручаться :)

[vba]

Код

=B2-A2+1-ПОИСКПОЗ(ВПР(B2;праздники!holidays_dates;1;1);праздники!holidays_dates;0)+ПОИСКПОЗ(ВПР(A2;праздники!holidays_dates;1;1);праздники!holidays_dates;0)-ЕСЛИ(A2=ВПР(A2;праздники!holidays_dates;1;1);1;0)

[/vba]

Вариант уважаемой Pelena намного изящней и наверняка правильный. используйте его. Не формулист я …

Сообщение отредактировал abtextimeСреда, 09.05.2018, 15:59

 

Ответить

ASWP

Дата: Среда, 09.05.2018, 17:28 |
Сообщение № 12

Группа: Проверенные

Ранг: Форумчанин

Сообщений: 183


Репутация:

24

±

Замечаний:
0% ±


Excel 2007

Спасибо всем, все работает specool


я знаю что ничего не знаю, но другие не знают и этого

Сообщение отредактировал ASWPСреда, 09.05.2018, 17:28

 

Ответить

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

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

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

Пример 1. Определить количество выходных между датами 20.09.2018 и 30.10.2018 включая праздничные дни, которые приходятся на следующие даты: 28.09.2018 и 05.10.2018.

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

Пример 1.

Для расчета используем следующую формулу:

Описание аргументов:

  • (B3-B2) – общее число дней между указанными датами;
  • B2 – дата начала некоторого события;
  • B3 – дата окончания некоторого события;
  • B4:B5 – диапазон ячеек, содержащих праздничные дни.

Примечания:

  1. Данные в ячейках B2:B5 указаны в виде результатов выполнения функций ДАТА.
  2. Ячейка B6 должна иметь числовой формат данных для отображения корректных результатов.

В результате расчетов получим:

ЧИСТРАБДНИ.

Между указанными в условии датами всего 13 выходных с учетом 2-х праздников.



Расчет отпускных для увольняющегося сотрудника в Excel

Пример 2. Рассчитать отпускные для увольняющегося работника, который поступил на работу 10.05.2015 и был уволен 15.06.2018, за время работы ни разу не брал отпуск. Всего за весь период работы было выплачено 457240 рублей зарплаты. Праздничными днями являются следующие даты: 1-8 января, 23 февраля, 8 марта, 1 мая, 9 мая, 12 июня, 4 ноября.

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

Пример 2.

Для расчета общего количества отпускных дней за период работы используем формулу:

Выражения «(ДАТА(2016;1;1)-B6)*24/365» и (B3-ДАТА(2018;1;1))*24/365 возвращают число дней отпуска с учетом, что из 365 дней в году работнику полагается 24 дня отпуска. Второй аргумент функции СУММ – «24*2» — число дней отпуска за 2016 и 2017 года.

В результате получим:

ЧИСТРАБДНИ.МЕЖД.

Определим сумму выпускных по формуле:

Выражение B21/ЧИСТРАБДНИ(B2;B3;B6:C6:C6:D19:E18) определяет среднюю з/п за рабочий день. Умножив это значение на количество дней отпуска за весь период получим общую сумму отпускных:

Расчет отпускных.

Начисление зарплаты сотрудникам по отработанным дням в Excel

Пример 3. Определить зарплату работника за июль 2018 года, если расчет оплаты производится по отработанным дням, при этом по уставу фирмы до 15 числа каждого месяца число выходных в неделе — 2 (суббота и воскресенье), а после 15 – один (воскресенье). Если 15-е число любого месяца является субботой, данный день выходным не является.

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

Пример 3.

Для расчета используем следующую формулу:

Функция ЕСЛИ выполняет проверку, является ли 15-е число июля субботой. Число рабочих дней вычисляется как сумма числа рабочих дней в неделях, для которых количество выходных равно двум, и неделях с одним выходным днем. Если 15-е является субботой, то полное количество дней с двумя выходными рассчитывается как разница дат ДАТА(2018;7;15)-6 и начало месяца.

Результат расчетов:

Начисление зарплаты.

Количество рабочих дней до 15-го числа составило 10 дней (15.07.2018 – воскресенье), после 15-го – 14. Произведение 24 рабочих дней и оклада по дням (1320 рублей) равно 31680 рублей зарплаты за месяц.

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

Функция ЧИСТРАБДНИ имеет следующий синтаксис:

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

Описание аргументов:

  • нач_дата – обязательный аргумент, принимающий значение формата даты, которое характеризуют дату начала какого-либо события (точку отсчета числа рабочих дней);
  • кон_дата – обязательный аргумент, принимающий значение формата даты, которые характеризуют дату окончания какого-либо события;
  • [праздники] – необязательный для заполнения аргумент, принимающий ссылку на ячейку или диапазон ячеек, содержащие данные в формате даты, которые указывают даты праздничных дней. Может быть указан в виде массива, содержащего представления дат в виде чисел в коде времени Excel.

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

Описание аргументов:

=ЧИСТРАБДНИ.МЕЖД(нач_дата;кон_дата;[выходной];[праздники])

Описание аргументов:

  • нач_дата и кон_дата – обязательные аргументы, смысл которых тождественен одноименным аргументам функции ЧИСТРАБДНИ;
  • [выходной] – необязательный аргумент, который может быть указан в виде текстовой строки или числового значения из диапазона от 1 до 7 и от 11 до 17 соответственно, характеризующих число выходных и их позиции в неделе. По умолчанию принимается значение 1, соответствующее выходным в субботу и воскресенье. Если указано число 2 – выходными считаются воскресенье и понедельник. Далее по аналогии вплоть до числа 7, соответствующего выходным дням в пятницу и субботу. Число 11 характеризует единственный выходной день в воскресенье, 12 – в понедельник и далее по аналогии вплоть до 17, характеризующего субботу в качестве единственного выходного дня. Текстовый вариант представления аргумента имеет вид «0000011», где 1 – выходной день, 0 – рабочий день. Если строка состоит из 7 единиц («1111111»), функция ЧИСТАРАБНИ.МЕЖД вернет значение 0;
  • [праздники] – необязательный аргумент в виде ссылки на ячейку или диапазон ячеек, содержащих данные в формате даты, указывающие даты праздничных дней, либо массив числовых значений, являющихся представлениями дат в коде времени Excel.

Примечания:

  1. Аргументы нач_дата и кон_дата обеих рассматриваемых функций должны быть указаны в виде результатов выполнения функции ДАТА или прочих функций, возвращающих данные в формате даты. Представление дат в виде текстовых строк может привести к непредсказуемым результатам.
  2. Если в качестве аргумента нач_дата была передана более поздняя дата чем та, которая передана в качестве аргумента кон_дата, результатом выполнения функций ЧИСТРАБДНИ и ЧИСТАРБДНИ.МЕЖДУ будет отрицательное число, модуль которого равен количеству рабочих дней между указанными датами.
  3. Любые аргументы рассматриваемых функций, принимающие даты вне предела допустимых значений в Excel, будут приводить к возникновению ошибок #ЧИСЛО!
  4. Если в качестве аргумента [выходной] функции ЧИСТРАБДНИ.МЕЖД передано число, которое не принадлежит диапазонам допустимых значений, или строка, содержащая недопустимые символы (любые символы, кроме «0» и «1»), большее или меньшее количество символов, чем число дней в неделе, результатом выполнения будут коды ошибок #ЧИСЛО! или #ЗНАЧ!.

Skip to content

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

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

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

Microsoft Excel имеет две основных функции, специально предназначенных для расчета будних дней – РАБДЕНЬ (WORKDAY) и ЧИСТРАБДНИ (NETWORKDAYS). Мы также остановимся на дополнительных РАБДНИ.МЕЖД и ЧИСТРАБДНИ.МЕЖД, которые могут быть очень полезными.

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

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

  1. Функция РАБДЕНЬ.
  2. Как добавить или вычесть рабочие дни.
    • Настраиваем свой график выходных дней.
  3. Как рассчитать, сколько рабочих дней между двумя датами?
    • А если у нас свой особенный график труда и отдыха?
  4. Как определить ближайший рабочий день?
  5. Возможные ошибки при расчетах.

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

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

Она возвращает момент времени, который наступит через определенное число рабочих дней (или наступил ранее). Она не учитывает дни отдыха и любые праздники, которые вы отдельно укажете.

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

РАБДЕНЬ — это встроенная функция в Excel 2007, 2010, 2013 и 2016. Ее можно ввести руками либо при помощи мастера функций. В более ранних версиях вам нужно специально включать пакет инструментов анализа.

Вам необходимо использовать следующие аргументы:

РАБДЕНЬ(дата_начала; дни; [праздничные_дни])

Первые два обязательны, а последний – по желанию:

  • Дата_начала – с нее начинается подсчет дней.
  • Дни — рабочие дни, которые нужно добавить или вычесть из начальной точки отсчета. Положительное число возвращает будущий момент времени, отрицательное — возвращает в прошлое.
  • Праздничные_дни — необязательный список дат, которые следует считать нерабочими днями. Это может быть либо диапазон ячеек, содержащих даты, которые вы хотите исключить из расчетов, либо константа массива.

Теперь, когда вы знаете основы, давайте посмотрим, как вы можете использовать РАБДЕНЬ в ваших таблицах Excel.

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

Чтобы рассчитать рабочие дни в Эксель, следуйте этим простым правилам:

  • Чтобы добавить будние дни, введите положительное число в качестве аргумента дни в формуле РАБДЕНЬ.
  • Чтобы вычесть будние дни, используйте там же отрицательное число.

Предположим, у вас в ячейке A10 указан начальный момент времени, а список праздников — в ячейках А2: А7. Вы хотите узнать, какое число будет через 90 рабочих дней в будущем и прошлом. 

Вы можете сделать это, используя следующие формулы:

Чтобы добавить столько же к начальной точке, но учитывая праздничные дни в А2: А7:

=РАБДЕНЬ($A$10;90;$A$2:$A$7)

Чтобы вычесть 90 рабочих дней, исключая праздники:

=РАБДЕНЬ($A$10;-90;$A$2:$A$7)

Чтобы рассчитать сроки на основе текущей даты, используйте функцию СЕГОДНЯ() в качестве точки начала:

Чтобы добавить 90 рабочих дней:

=РАБДЕНЬ(СЕГОДНЯ();90;$A$2:$A$7)

Чтобы переместиться на такое же время назад по отношению к сегодня:

=РАБДЕНЬ(СЕГОДНЯ();-90)

Чтобы указать время начала непосредственно в формуле, используйте формулу ДАТА():

=РАБДЕНЬ(ДАТА(2020;1;7);90;$A$2:$A$7)

На следующем скриншоте показаны результаты всех этих и еще нескольких формул РАБДЕНЬ:

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

=РАБДЕНЬ($A$10;С1;$A$2:$A$7)

Где A10 — начальная датировка, а C1 — число рабочих дней до (отрицательные числа) или после (положительные числа) нее, без учета праздников.

Настраиваем свой график выходных дней.

В случае, если у вас применяется какой-то особенный график нерабочих дней (не суббота и воскресенье), то вам в помощь – формула РАБДЕНЬ.МЕЖД  (WORKDAY.INTL в английской версии).

Она появилась в Excel 2010, в более старых версиях программы ее нет.

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

Синтаксис ее выглядит следующим образом:

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

Первые два аргумента являются обязательными и знакомыми нам:

Дата_начала – начальный момент времени.

Дни — будние дней до (отрицательное значение) или после (положительное значение) начальной точки. Если этот аргумент в результате каких-то расчетов передается в виде десятичного числа, то дробная часть отбрасывается.

Последние два аргумента являются необязательными:

Выходные — указывает, что именно следует считать днями отдыха. Это может быть либо число, либо текст, как показано ниже.

Число

Выходные дни

1 или отсутствует

Суббота Воскресенье

2

Воскресенье понедельник

3

Понедельник вторник

4

Вторник Среда

5

Среда Четверг

6

Четверг Пятница

7

Пятница Суббота

11

Только воскресенье

12

Только понедельник

13

Только вторник

14

Только среда

15

Только четверг

16

Только в пятницу

17

Только суббота

Текст для указания выходного дня — серия цифр из семи нулей и единиц, представляющих семь дней недели, начиная с понедельника. 1 означает нерабочий день, и 0 — соответственно наоборот. Например:

  • «0000010» — суббота — отдыхаем.
  • «1000001» — понедельник и воскресенье — отдыхаем.

И вот как это может выглядеть на примере:

Я бы рекомендовал обратить внимание на конструкцию

=РАБДЕНЬ.МЕЖД($A$10;90;»1000001″;$A$2:$A$7)

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

Все остальное, думаю, достаточно хорошо понятно из скриншота.

Замечание. Функции Excel РАБДЕНЬ и РАБДЕНЬ.МЕЖД возвращают порядковые номера (числа), представляющие даты. Чтобы они отображались как нужно, выделите нужные ячейки и нажмите Ctrl + 1, чтобы открыть диалоговое окно «Формат ячеек». На вкладке «Число» выберите «Дата»  и определите нужный формат. 

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

В ситуациях, когда вам нужно получить число рабочих дней в каком-то временном промежутке, используйте формулу ЧИСТРАБДНИ() (в английском варианте – NETWORKDAYS) :

ЧИСТРАБДНИ (дата_начала; дата_окончания; [праздничные_дни])

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

Чтобы узнать, сколько будних дней между двумя точками в столбцах A и B, используйте следующую формулу:

=ЧИСТРАБДНИ(A10;B10)

При желании вы можете ввести свой список праздников в отдельный диапазон и дополнить формулу, чтобы исключить эти дни:

=ЧИСТРАБДНИ(A10;B10;A2:A7)

В результате учитываются только будние дни.

А если у нас свой особенный график труда и отдыха?

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

ЧИСТРАБДНИ.МЕЖД  (WORKDAY.INTL в английском варианте) — более мощная модификация функции ЧИСТРАБДНИ, которая работает с пользовательскими параметрами выходных . Как и его предшественница, она возвращает число рабочих дней в будущем или в прошлом, но позволяет вам определить, какие именно дни недели в вашем графике нужно считать нерабочими.

Формула ЧИСТРАБДНИ.МЕЖД  появилась впервые в Excel 2010, и поэтому недоступна в более ранних версиях программы.

Синтаксис ее выглядит следующим образом:

ЧИСТРАБДНИ.МЕЖД (дата_начала, дни, [выходные], [праздничные_дни])

Первые два аргумента являются обязательными и встречались нам уже неоднократно:

Дата_начала — начальная точка.

Дни — будние дней до (отрицательное значение) или после (положительное значение) точки начала. Если этот аргумент в результате каких-то расчетов предоставляется в виде десятичного числа, то он усекается до целого.

Последние два аргумента являются необязательными:

Выходные — указывает, в какие дни недели вы не работаете. Это может быть либо число, либо текст, как показано ниже.

Число

Выходные дни

1 или отсутствует

Суббота Воскресенье

2

Воскресенье понедельник

3

Понедельник вторник

4

Вторник Среда

5

Среда Четверг

6

Четверг Пятница

7

Пятница Суббота

11

Только воскресенье

12

Только понедельник

13

Только вторник

14

Только среда

15

Только четверг

16

Только в пятницу

17

Только суббота

Текст для указания выходного дня — серия цифр из семи нулей и единиц, представляющих семь дней недели, начиная с понедельника. 1 означает день отдыха, а 0 — будний день. Например:

  • «0000011» — суббота и воскресенье – не работаем.
  • «1000001» — понедельник и воскресенье — отдыхаем.

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

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

А теперь несколько примеров.

=ЧИСТРАБДНИ.МЕЖД(A10;B10;1) – это знакомый нам вариант, когда нерабочими считаются суббота и воскресенье.

А вот =ЧИСТРАБДНИ(A10;B10;11) – отдых только в воскресенье,

=ЧИСТРАБДНИ.МЕЖД(A10;B10;2) – в воскресенье и понедельник. Такой расчет полезен, если в вашей организации свой график работы, не такой, как у всех.

=ЧИСТРАБДНИ.МЕЖД(A11;B11;»1100000″;$A$2:$A$7) 

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

Вы можете объединить полученное число со своим собственным сообщением, склеив их при помощи оператора &.

Например, давайте посмотрим, сколько нужно еще отработать до конца 2020 года. Для этого введем 31 декабря 2020 года в формате даты, и используем следующее выражение:

=»Осталось «&ЧИСТРАБДНИ(СЕГОДНЯ();ДАТА(2020;12;31);A2:A7)&» дн. до конца года!»

Ух, осталось всего 203 дня! Не так много, как я думал :)
Примечание. Чтобы учесть свой индивидуальный график работы, используйте ЧИСТРАБДНИ.МЕЖД().

Как определить ближайший рабочий день?

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

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

как рассчитать ближайший рабочий день

Для субботы подсчитать дату ближайшего понедельника можно двумя способами:

=РАБДЕНЬ(A2-1;1)

или

=ЕСЛИ(ДЕНЬНЕД(A3;2)>5;A3+(8-ДЕНЬНЕД(A3;2));A3)

Ближайший рабочий день в прошлом (то есть прошлая пятница) определяется так:

=ЕСЛИ(ДЕНЬНЕД(A4;2)>5;МИН(A4-(ДЕНЬНЕД(A4;2)-5);A4);A4)

Ну и если немного усложнить условие — если день попадает на субботу, тогда ближайший рабочий день — прошедшая пятница, а если на воскресенье — тогда предстоящий понедельник:

=ЕСЛИ(ДЕНЬНЕД(A6;2)>6;A6+(8-ДЕНЬНЕД(A6;2));МИН(A6-(ДЕНЬНЕД(A6;2)-5);A6))

Как видите, на слишком уж сложно.

Возможные ошибки при расчетах.

Если ваша формула РАБДЕНЬ, РАБДЕНЬ.МЕЖД, ЧИСТРАБДНИ или ЧИСТРАБДНИ.МЕЖД возвращает ошибку #ЧИСЛО! или #ЗНАЧ!, причина может быть одной из следующих:

  • аргументы начала и конца временного отрезка передают неверные данные (не являются датой, записаны как текст скорее всего)
  • аргумент «выходные» указан неверно (например, 22 или «000000011»).

Надеюсь, эти примеры и инструкции были вам полезны. Если еще остались вопросы — пишите в комментариях. Постараюсь ответить.

Также рекомендуем о работе с датами:

Как перевести время в число В статье рассмотрены различные способы преобразования времени в десятичное число в Excel. Вы найдете множество формул для преобразования времени в часы, минуты или секунды. Поскольку Microsoft Excel использует числовую систему для работы с временем, вы можете…
Формат времени в Excel Вы узнаете об особенностях формата времени Excel, как записать его в часах, минутах или секундах, как перевести в число или текст, а также о том, как добавить время с помощью…
Как вывести месяц из даты На примерах мы покажем, как получить месяц из даты в таблицах Excel, преобразовать число в его название и наоборот, а также многое другое. Думаю, вы уже знаете, что дата в…
Как быстро вставить сегодняшнюю дату в Excel? Это руководство показывает различные способы ввода дат в Excel. Узнайте, как вставить сегодняшнюю дату и время в виде статической метки времени или динамических значений, как автоматически заполнять столбец или строку…

Понравилась статья? Поделить с друзьями:

А вот еще интересные статьи:

  • В excel нет функции частное
  • В excel нет функции суммесли
  • В excel нет функции определено пользователем
  • В excel нет функции минимум
  • В excel нет функции интеграл

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии