Функция РАБДЕНЬ
В этой статье описаны синтаксис формулы и использование функции РАБДЕНЬ в Microsoft Excel.
Описание
Возвращает число, которое представляет дату, отстоящую на заданное количество рабочих дней вперед или назад от начальной даты. Рабочими днями не считаются выходные дни и дни, определенные как праздничные. Функция РАБДЕНЬ используется для исключения выходных дней или праздников при вычислении дат платежей, ожидаемых дат доставки или количества фактически отработанных дней.
Совет: Чтобы вычислить число, которое представляет дату, отстоящую на заданное количество рабочих дней вперед или назад, с использованием параметров, определяющих количество выходных в неделе и то, какие это дни, используйте функцию РАБДЕНЬ.МЕЖД.
Синтаксис
Аргументы функции РАБДЕНЬ описаны ниже.
- нач_дата Обязательный. Начальная дата.
- Количество_дней Обязательный. Количество дней до или после начальной даты, не являющихся выходными или праздниками. Положительное значение аргумента «количество_дней» обозначает дату в будущем, отрицательное — дату в прошлом.
- Праздники Необязательный. Список из одной или нескольких дат, например государственных праздников, которые требуется исключить из рабочего календаря. Список может представлять собой диапазон ячеек, содержащих даты, или константу массива, содержащую числа, которые представляют даты.
Важно: Даты должны быть введены с использованием функции ДАТА или как результат вычисления других формул и функций. Например, для указания даты 23 мая 2008 г. воспользуйтесь выражением ДАТА(2008,5,23). Если ввести даты как текст, это может привести к возникновению проблем.
Замечания
- В приложении Microsoft Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 448 дней.
- Если какой-либо аргумент не является допустимой датой, WORKDAY возвращает #VALUE! (значение ошибки).
- Если start_date плюс дни возвращает недопустимую дату, WORKDAY возвращает #NUM! (значение ошибки).
- Если значение аргумента «количество_дней» не является целым числом, оно усекается.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.
Функция РАБДЕНЬ.МЕЖД
В этой статье описаны синтаксис формулы и использование функции РАБДЕНЬ.МЕЖД в Microsoft Excel.
Возвращает серийный номер даты до или после указанного количества рабочих дней с пользовательскими параметрами выходных. Параметры выходных дней указывают, какие и сколько дней являются выходными днями. Выходные и любые праздники не считаются рабочими днями.
Синтаксис
Аргументы функции РАБДЕНЬ.МЕЖД описаны ниже.
- нач_дата Обязательный. Начальная дата, усеченная до целого числа.
- Количество_дней Обязательный. Количество рабочих дней до или после начальной даты. Положительное значение обозначает дату в будущем, отрицательное — дату в прошлом. Смещение усекается до целого числа.
- Выходной Необязательный. Указывает, какие дни недели являются выходными и не считаются рабочими. Значение может задаваться номером выходного дня или строкой, определяющей, какие дни являются выходными. Номера обозначают следующие выходные дни:
Номер выходного дня
Выходные дни
Строковые значения дней недели включают семь знаков, каждый из которых обозначает день недели (начиная с понедельника). Значение 1 представляет нерабочие дни, а 0 — рабочие дни. В строке допустимо использовать только знаки 1 и 0. Строка 1111111 недопустима.
Например, 0000011 означает, что выходными днями являются суббота и воскресенье.
- Праздники Необязательный. Набор из одной или нескольких дат, которые необходимо исключить из календаря рабочих дней. Значение «праздники» должно быть диапазоном ячеек, содержащих даты, или константой массива, включающей порядковые значения, которые представляют даты. Порядок дат или значений может быть любым.
Замечания
- Если start_date выходит за пределы диапазона для текущего базового значения даты, WORKDAY. INTL возвращает #NUM! (значение ошибки).
- Если какая-либо дата в праздничных днях выходит за пределы диапазона для текущего базового значения даты, WORKDAY. INTL возвращает #NUM! (значение ошибки).
- Если start_date плюс смещение дня возвращает недопустимую дату WORKDAY. INTL возвращает #NUM! (значение ошибки).
- Если строка выходных дней имеет недопустимую длину или содержит недопустимые символы, workday. INTL возвращает #VALUE! значение ошибки #ЗНАЧ!.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу Enter. При необходимости измените ширину столбцов, чтобы видеть все данные.
Оперативный результат
Использование 0 для аргумента Weekend приводит к #NUM! ошибку #ЗНАЧ!.
Находит дату 90 рабочих дней с 1/01/2012, считая только воскресенье в качестве дня выходных (аргумент выходных — 11).
Использует функцию TEXT для форматирования результирующего серийного номера (40944) в формате m/dd/yyyy. Находит дату 30 рабочих дней с 1/1/2012, считая только субботы в качестве дня выходных (аргумент выходных — 17).
Поиск ближайшего рабочего дня функцией РАБДЕНЬ (WORKDAY)
Простая, но весьма частая задача у многих пользователей Microsoft Excel.
Предположим, что нам необходимо рассчитать срок доставки товара, зная дату отправки и длительность. Поскольку Excel на самом деле хранит даты как числа (количество дней с 1 января 1900 года), то простое сложение легко даст нам предполагаемую конечную дату доставки:
Однако, как видно из предыдущей картинки, нет никакой гарантии, что полученный срок не попадет на выходные, когда доставка не производится. Тогда нужно взять ближайший рабочий день, т.е. следующий понедельник, но какой формулой это лучше сделать? Первое, что обычно приходит в голову, это конструкция с вложенными проверками дней недели с помощью функций ЕСЛИ (IF) и ДЕНЬНЕД (WEEKDAY) . Что-то типа:
Т.е. если попали на субботу (ДЕНЬНЕД выдал 6 для даты доставки), то прибавляем еще 2 дня, чтобы сдвинуть на следующий понедельник. А если попали на воскресенье, то добавляем еще день. Не самая сложная формула.
На самом деле можно управиться существенно короче и изящнее 🙂 С 2007 года в Excel появилась функция РАБДЕНЬ (WORKDAY) , которая умеет сдвигать исходную дату на заданное количество рабочих дней, причем сдвиг может быть как положительным (в будущее), так и отрицательным (в прошлое). Фишка в том, что если взять предыдущий день от предполагаемой даты доставки и с помощью этой функции добавить к нему один рабочий день, то мы получим либо ту же самую дату (если были будни), либо ближайший понедельник (если доставка выпала на субботу или воскресенье). Что и требуется:
Приятным бонусом идет возможность указать список праздничных выходных дней, которые функция РАБДЕНЬ тоже будет воспринимать как нерабочие помимо суббот и воскресений. Диапазон с праздниками можно задать третьим аргументом: Легко сообразить, что подобный подход можно использовать и для поиска ближайшего предыдущего, а не следующего рабочего дня.
Ссылки по теме
- Как Excel на самом деле хранит и обрабатывает даты и время
- Как вычислить возраст или стаж в Microsoft Excel
- Как определить сколько заданных дней недели попадает в интервал дат
Как для функции раб день добавить праздники
Вопросы по покупке sales@onlyoffice.com
Запросы на партнерство partners@onlyoffice.com
Запросы от прессы press@onlyoffice.com
Следите за нашими новостями:
© Ascensio System SIA 2024. Все права защищены
© Ascensio System SIA 2024. Все права защищены
Не пропустите обновление!
Получайте последние новости ONLYOFFICE на ваш email
Имя не указано.
Email не указан.
На ваш адрес электронной почты отправлено сообщение с подтверждением.
В Справочном центре ONLYOFFICE используются файлы cookie для обеспечения максимального удобства работы пользователей. Продолжая использовать этот сайт, вы соглашаетесь с тем, что мы можем сохранять файлы cookie в вашем браузере.