В Excel, чтобы проверить, является ли дата рабочим днем (за исключением общих выходных и праздников), вы можете использовать функцию РАБДЕНЬ.
Если вы хотите следовать этому руководству, загрузите пример электронной таблицы.
Общая формула:
WORKDAY(date-1,1,holidays)=date
Синтаксис и аргументы
Date:the date you want to check if is a workday.
Возвращаемое значение
Эта формула возвращается к логическому значению ИСТИНА или НЕВЕРНО. Когда формула возвращается в ИСТИНА, дата является рабочим днем, в противном случае дата не является рабочим днем, когда формула возвращается в ЛОЖЬ.
Как работает эта формула
В ячейках E3: E7 указаны праздники, теперь, чтобы проверить даты в списке B3: B7, если это рабочие дни, используйте формулу ниже:
=WORKDAY(B3-1,1,$E$3:$E$7)=B3
Нажмите Enter , чтобы получить первый результат проверки, а затем перетащите дескриптор автозаполнения в ячейку B7.
объяснение
WORKDAY функция: используется для добавления указанного количества рабочих дней к дате начала и возврата будущей или прошедшей даты в формате серийного номера.
= РАБДЕНЬ (B3–1,1; $ E $ 3: $ E $ 7)
=WORKDAY(«4/11/2020»,1, $E$3:$E$7)
= 4 апреля 13 г.
Затем
= 4 = B13
=4/13/2020=/12/2020
= ЛОЖЬ
Внимание
С функцией РАБОЧИЙ ДЕНЬ, в разведке выходные дни — суббота и воскресенье, если у вас есть свои собственные выходные, вы можете использовать РАБДЕНЬ.МЕЖДУНАРОДНЫЙ функции.
Предположим, что выходные дни — понедельник и вторник, используйте формулу как:
=WORKDAY.INTL(B3-1,1,3,$E$3:$E$7)=B3
Номер выходного дня
| Число | Выходные дни |
| 1 (по умолчанию) | Суббота и воскресенье |
| 2 | Воскресенье и понедельник |
| 3 | Понедельник и вторник |
| 4 | Вторник и среда |
| 5 | Среда и четверг |
| 6 | Четверг и Пятница |
| 7 | Пятница и суббота |
| 11 | Только воскресенье |
| 12 | Только понедельник |
| 13 | Только вторник |
| 14 | Только среда |
| 15 | Только четверг |
| 16 | Только пятница |
| 17 | Только суббота |
Относительные формулы
- Считать будние дни только между двумя датами
В этом руководстве представлены формулы для подсчета дней, исключая выходные и праздничные дни, между двумя датами. - Считать определенный день недели между двумя датами
В этом руководстве представлена формула для подсчета определенного дня недели между двумя заданными датами в Excel. - Считайте дни с сегодняшнего дня
В этом руководстве представлена лучшая формула для расчета разницы между датой и сегодняшним днем в Excel. - Преобразование дня недели в диапазон дат
Если есть список дат, как можно сосчитать определенный день недели в таком списке дат?
Относительные функции
- Функция Excel WEEKNUM
Возвращает номер недели указанной даты в году. - Функция РАБДЕНЬ в Excel
Добавляет рабочие дни к заданной дате начала и возвращает рабочий день - Функция МЕСЯЦ в Excel
МЕСЯЦ используется для получения месяца в виде целого числа (от 1 до 12) от даты. - Функция ДЕНЬ в Excel
Функция ДЕНЬ получает день в виде числа (от 1 до 31) от даты - Функция Excel NOW
Получить текущее время и дату
Лучшие инструменты для работы в офисе
Kutools for Excel — Помогает вам выделиться из толпы
Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает 300 мощных расширенных функций (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80 % времени.
- Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
- Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
- Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
- 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.
Вкладка Office — включение чтения и редактирования с вкладками в Microsoft Office (включая Excel)
- Одна секунда для переключения между десятками открытых документов!
- Уменьшите количество щелчков мышью на сотни каждый день, попрощайтесь с рукой мыши.
- Повышает вашу продуктивность на 50% при просмотре и редактировании нескольких документов.
- Добавляет эффективные вкладки в Office (включая Excel), точно так же, как Chrome, Firefox и новый Internet Explorer.
Комментарии (0)
Оценок пока нет. Оцените первым!
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 мая 2008 г. воспользуйтесь выражением ДАТА(2008,5,23). Если ввести даты как текст, это может привести к возникновению проблем.
Замечания
-
В приложении Microsoft Excel даты хранятся в виде последовательных чисел, что позволяет использовать их в вычислениях. По умолчанию дате 1 января 1900 года соответствует номер 1, а 1 января 2008 года — 39448, так как интервал между этими датами составляет 39 448 дней.
-
Если какой-либо из аргументов не является допустимой датой, то workDAY возвращает #VALUE! значение ошибки #ЗНАЧ!.
-
Если start_date плюс дн. возвращает недействительные даты, то workDAY возвращает #NUM! значение ошибки #ЗНАЧ!.
-
Если значение аргумента «количество_дней» не является целым числом, оно усекается.
Пример
Скопируйте образец данных из следующей таблицы и вставьте их в ячейку A1 нового листа Excel. Чтобы отобразить результаты формул, выделите их и нажмите клавишу F2, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
|
Данные |
||
|
01.10.2008 |
Начальная дата |
|
|
151 |
Осталось дней |
|
|
26.11.2008 |
Праздник |
|
|
04.12.2008 |
Праздник |
|
|
21.01.2009 |
Праздник |
|
|
Формула |
Описание (результат) |
Результат |
|
=РАБДЕНЬ(A2;A3) |
Отсчитывает 151 рабочий день с начальной даты (30.04.09) |
30.04.2009 |
|
=РАБДЕНЬ(A2;A3;A4:A6) |
Отсчитывает 151 рабочий день с начальной даты, исключая праздники (05.05.09) |
05.05.2009 |
Нужна дополнительная помощь?
Содержание
- Функция РАБДЕНЬ
- Описание
- Синтаксис
- Замечания
- Пример
- Определение выходных дней в табеле
- Учет выходных и праздничных дней
- Перенос выходных дней
- Поиск ближайшего рабочего дня функцией РАБДЕНЬ (WORKDAY)
- Как определить / проверить дату выходного дня в Excel?
- Определите, является ли дата выходные с формулой
- С легкостью фильтруйте и выделяйте все выходные в столбце даты с помощью замечательного инструмента
- Excel проверить рабочий день или нет
- Относительные формулы
- Относительные функции
- Kutools for Excel — поможет вам выделиться из толпы
Функция РАБДЕНЬ
В этой статье описаны синтаксис формулы и использование функции РАБДЕНЬ в 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, а затем — клавишу ВВОД. При необходимости измените ширину столбцов, чтобы видеть все данные.
Источник
Определение выходных дней в табеле
Для определения выходных дней (суббот и воскресений) воспользуйтесь функцией ДЕНЬНЕД, которая устанавливает номер дня недели. Эту функцию введите в ячейку С28:
В следующую ячейку — С29 — введите функцию ЕСЛИ:
Функция ЕСЛИ действует по описанной ниже схеме:
- День недели, определенный в ячейке С28, — суббота?
- Если да, возвращается значение ИСТИНА.
- Если нет, переходим к следующему ЕСЛИ.
- Если днем недели является воскресенье, возвращается значение ИСТИНА.
- В противном случае возвращается значение ЛОЖЬ.
Учет выходных и праздничных дней
На следующем этапе нам предстоит создать формулу, которая при соблюдении одного из условий (праздничный день, выходной день или праздничный день, выпадающий на выходной) возвращает значение ИСТИНА. Мы предполагаем разместить эту формулу в ячейке СЗО.
Для решения задачи воспользуемся логической функцией ИЛИ. Эта функция возвращает значение ИСТИНА, если хотя бы один из ее аргументов имеет значение ИСТИНА, и значение ЛОЖЬ, если все аргументы имеют значение ЛОЖЬ.
Функция ИЛИ имеет следующий синтаксис:
Здесь логииеское_значение1, логическое_значение2, . — это от 1 до 30 проверяемых условий, которые могут иметь либо значение ИСТИНА, либо значение ЛОЖЬ.
Рис. 7.12. Панель функции ИЛИ
В первом аргументе нам необходимо указать адрес ячейки С29, в которой определяется день недели, а во втором аргументе — адрес ячейки С27, где устанавливаются даты праздников.
Формула в ячейке СЗО должна быть такой:
Произведем вложение функций:
- Формулу из ячейки С25 вложим в формулу из ячейки С26:
- — Полученную формулу вложим в формулу из ячейки С27:
Формулу из ячейки С28 вложим в формулу из ячейки С29:
Полученную формулу вложим в формулу из ячейки СЗО:
Перенос выходных дней
На практике нередки случаи переноса выходных дней. В нашем табеле реакция на такие переносы не обеспечена. Сейчас мы исправим этот недостаток. Даты дней, которые вследствие переноса стали рабочими, будем вводить в область G22:G24 листа Праздники. Этой области присвоим имя ДатаПеренос (рис. 7.13).
Даты дней, которые вследствие переноса стали выходными, добавим в список праздников, находящийся в диапазоне A15:G16 листа Праздники (рис. 7.5).
Теперь в табеле нам нужна формула, которая будет определять, не перенесен ли данный выходной. Для ее получения доработаем формулу из ячейки С27 табеля.
Рис. 7.13. Список с перемещенными датами
Скопируйте ее из строки формул, вставьте в ячейку С31, замените имя Да-таПраздн именем ДатаПеренос и удалите функцию НЕ.
Результирующая формула в ячейке С31 должна иметь следующий вид:
Формула возвращает значение ЛОЖЬ, если находит дату среди перенесенных, или значение ИСТИНА, если не находит. Таким образом, эта ячейка будет содержать значение ЛОЖЬ, если день вследствие переноса стал рабочим. Если же ячейка содержит значение ИСТИНА, значит, статус дня не изменился.
Теперь мы должны проанализировать значения ячеек С3О и С31. Первая содержит логическое значение, которое указывает на то, является ли день выходным либо праздничным. Логическое значение во второй ячейке отражает факт изменения статуса дня (то есть не стал ли он вследствие переноса выходных рабочим днем).
Формула для анализа должна работать так. День является выходным, если его статус не изменился (С31 содержит значение ИСТИНА), и он является праздничным, субботним или воскресным (СЗО содержит значение ИСТИНА). Во всех остальных случаях день будет рабочим.
Составить такую формулу можно с помощью функции И. Она возвращает значение ИСТИНА, если все аргументы имеют значение ИСТИНА, и значение ЛОЖЬ, если хотя бы один аргумент имеет значение ЛОЖЬ. Данная функция принадлежит к категории Логические и имеет следующий синтаксис:
Здесь логическое_значение1, логическое_значение2, . — это от I до 30 проверяемых условий, которые могут иметь либо значение ИСТИНА, либо значение ЛОЖЬ.
Введите в ячейку С32 такую функцию:
В данную функцию надлежит вложить формулы из ячеек СЗО и С31. Ниже показано, как выглядит результирующая формула в ячейке С32:
Скопируйте формулы из ячеек С27 и С32 в ячейки С10 и С11.
Источник
Поиск ближайшего рабочего дня функцией РАБДЕНЬ (WORKDAY)
Простая, но весьма частая задача у многих пользователей Microsoft Excel.
Предположим, что нам необходимо рассчитать срок доставки товара, зная дату отправки и длительность. Поскольку Excel на самом деле хранит даты как числа (количество дней с 1 января 1900 года), то простое сложение легко даст нам предполагаемую конечную дату доставки:

Однако, как видно из предыдущей картинки, нет никакой гарантии, что полученный срок не попадет на выходные, когда доставка не производится. Тогда нужно взять ближайший рабочий день, т.е. следующий понедельник, но какой формулой это лучше сделать?
Первое, что обычно приходит в голову, это конструкция с вложенными проверками дней недели с помощью функций ЕСЛИ (IF) и ДЕНЬНЕД (WEEKDAY) . Что-то типа:

Т.е. если попали на субботу (ДЕНЬНЕД выдал 6 для даты доставки), то прибавляем еще 2 дня, чтобы сдвинуть на следующий понедельник. А если попали на воскресенье, то добавляем еще день. Не самая сложная формула.
На самом деле можно управиться существенно короче и изящнее 🙂
С 2007 года в Excel появилась функция РАБДЕНЬ (WORKDAY) , которая умеет сдвигать исходную дату на заданное количество рабочих дней, причем сдвиг может быть как положительным (в будущее), так и отрицательным (в прошлое). Фишка в том, что если взять предыдущий день от предполагаемой даты доставки и с помощью этой функции добавить к нему один рабочий день, то мы получим либо ту же самую дату (если были будни), либо ближайший понедельник (если доставка выпала на субботу или воскресенье). Что и требуется:

Приятным бонусом идет возможность указать список праздничных выходных дней, которые функция РАБДЕНЬ тоже будет воспринимать как нерабочие помимо суббот и воскресений. Диапазон с праздниками можно задать третьим аргументом:
Легко сообразить, что подобный подход можно использовать и для поиска ближайшего предыдущего, а не следующего рабочего дня.
Источник
Как определить / проверить дату выходного дня в Excel?
Иногда вам может потребоваться определить, приходится ли свидание на выходные, чтобы уладить личные дела. С помощью этого руководства вы узнаете, как определить или проверить, является ли данная дата выходным днем в Excel.
Определить, является ли дата выходным днем, с помощью формулы
Легко фильтровать и выделять все выходные в столбце даты с помощью замечательного инструмента.
Определите, является ли дата выходные с формулой
Например, вы хотите, чтобы указанная ячейка была заполнена значением ИСТИНА, если заданная дата приходится на выходные, и заполнялась значением ЛОЖЬ, если дата не принадлежит в выходные вам поможет следующая формула.
1. Выберите пустую ячейку для размещения результата, введите в нее приведенную ниже формулу и нажмите клавишу Enter .
2. Перетащите маркер заполнения в ячейки, которые вы хотите покрыть этой формулой. Тогда вы получите результат, как показано на скриншоте ниже.
Примечание : если в диапазоне дат есть пустые ячейки, он также будет отображаться как TURE.
С легкостью фильтруйте и выделяйте все выходные в столбце даты с помощью замечательного инструмента
С помощью Special Filter утилиты Kutools for Excel , вы можете легко отфильтровать выделение всех выходных в столбце даты в Excel. Пожалуйста, сделайте следующее.
Перед применением Kutools for Excel , пожалуйста, сначала загрузите и установите его .
1. Выберите столбец даты, в котором вы хотите проверить, является ли дата выходным, а затем нажмите Kutools Plus > Специальный фильтр > Специальный фильтр .
2. В диалоговом окне Специальный фильтр настройте следующее.
3. Затем появится диалоговое окно, в котором указано, сколько ячеек соответствует критериям, нажмите кнопку ОК.
Затем все выходные дни отфильтровываются, как показано на скриншоте ниже слева. После очистки фильтра вы увидите, что эти выходные дни выделяются в списке дат.
Если вы хотите получить 30-дневную бесплатную пробную версию этой утилиты, нажмите, чтобы загрузить ее , а затем перейдите к применению операции в соответствии с вышеуказанными шагами.
Источник
Excel проверить рабочий день или нет
В Excel, чтобы проверить, является ли дата рабочим днем (за исключением общих выходных и праздников), вы можете использовать функцию РАБДЕНЬ.
Если вы хотите следовать этому руководству, загрузите пример электронной таблицы.
Общая формула:
WORKDAY(date-1,1,holidays)=date
Синтаксис и аргументы
Date:the date you want to check if is a workday.
Возвращаемое значение
Эта формула возвращается к логическому значению ИСТИНА или НЕВЕРНО. Когда формула возвращается в ИСТИНА, дата является рабочим днем, в противном случае дата не является рабочим днем, когда формула возвращается в ЛОЖЬ.
Как работает эта формула
В ячейках E3: E7 указаны праздники, теперь, чтобы проверить даты в списке B3: B7, если это рабочие дни, используйте формулу ниже:
=WORKDAY(B3-1,1,$E$3:$E$7)=B3
Нажмите Enter , чтобы получить первый результат проверки, а затем перетащите дескриптор автозаполнения в ячейку B7.
объяснение
WORKDAY функция: используется для добавления указанного количества рабочих дней к дате начала и возврата будущей или прошедшей даты в формате серийного номера.
= РАБДЕНЬ (B3–1,1; $ E $ 3: $ E $ 7)
=WORKDAY(«4/11/2020»,1, $E$3:$E$7)
= 4 апреля 13 г.
Внимание
С функцией РАБОЧИЙ ДЕНЬ, в разведке выходные дни — суббота и воскресенье, если у вас есть свои собственные выходные, вы можете использовать РАБДЕНЬ.МЕЖДУНАРОДНЫЙ функции.
Предположим, что выходные дни — понедельник и вторник, используйте формулу как:
=WORKDAY.INTL(B3-1,1,3,$E$3:$E$7)=B3
Номер выходного дня
| Число | Выходные дни |
| 1 (по умолчанию) | Суббота и воскресенье |
| 2 | Воскресенье и понедельник |
| 3 | Понедельник и вторник |
| 4 | Вторник и среда |
| 5 | Среда и четверг |
| 6 | Четверг и Пятница |
| 7 | Пятница и суббота |
| 11 | Только воскресенье |
| 12 | Только понедельник |
| 13 | Только вторник |
| 14 | Только среда |
| 15 | Только четверг |
| 16 | Только пятница |
| 17 | Только суббота |
Относительные формулы
- Считать будние дни только между двумя датами
В этом руководстве представлены формулы для подсчета дней, исключая выходные и праздничные дни, между двумя датами. - Считать определенный день недели между двумя датами
В этом руководстве представлена формула для подсчета определенного дня недели между двумя заданными датами в Excel. - Считайте дни с сегодняшнего дня
В этом руководстве представлена лучшая формула для расчета разницы между датой и сегодняшним днем в Excel. - Преобразование дня недели в диапазон дат
Если есть список дат, как можно сосчитать определенный день недели в таком списке дат?
Относительные функции
- Функция Excel WEEKNUM
Возвращает номер недели указанной даты в году. - Функция РАБДЕНЬ в Excel
Добавляет рабочие дни к заданной дате начала и возвращает рабочий день - Функция МЕСЯЦ в Excel
МЕСЯЦ используется для получения месяца в виде целого числа (от 1 до 12) от даты. - Функция ДЕНЬ в Excel
Функция ДЕНЬ получает день в виде числа (от 1 до 31) от даты - Функция Excel NOW
Получить текущее время и дату
Kutools for Excel — поможет вам выделиться из толпы
Хотите быстро и качественно выполнять свою повседневную работу? Kutools for Excel предлагает мощные расширенные функции 300 (объединение книг, суммирование по цвету, разделение содержимого ячеек, преобразование даты и т. д.) и экономит для вас 80% времени.
- Разработан для 1500 рабочих сценариев, помогает решить 80% проблем с Excel.
- Уменьшите количество нажатий на клавиатуру и мышь каждый день, избавьтесь от усталости глаз и рук.
- Станьте экспертом по Excel за 3 минуты. Больше не нужно запоминать какие-либо болезненные формулы и коды VBA.
- 30-дневная неограниченная бесплатная пробная версия. 60-дневная гарантия возврата денег. Бесплатное обновление и поддержка 2 года.
Источник
Простая, но весьма частая задача у многих пользователей Microsoft Excel.
Предположим, что нам необходимо рассчитать срок доставки товара, зная дату отправки и длительность. Поскольку Excel на самом деле хранит даты как числа (количество дней с 1 января 1900 года), то простое сложение легко даст нам предполагаемую конечную дату доставки:

Однако, как видно из предыдущей картинки, нет никакой гарантии, что полученный срок не попадет на выходные, когда доставка не производится. Тогда нужно взять ближайший рабочий день, т.е. следующий понедельник, но какой формулой это лучше сделать?
Первое, что обычно приходит в голову, это конструкция с вложенными проверками дней недели с помощью функций ЕСЛИ (IF) и ДЕНЬНЕД (WEEKDAY). Что-то типа:

Т.е. если попали на субботу (ДЕНЬНЕД выдал 6 для даты доставки), то прибавляем еще 2 дня, чтобы сдвинуть на следующий понедельник. А если попали на воскресенье, то добавляем еще день. Не самая сложная формула.
На самом деле можно управиться существенно короче и изящнее 
С 2007 года в Excel появилась функция РАБДЕНЬ (WORKDAY), которая умеет сдвигать исходную дату на заданное количество рабочих дней, причем сдвиг может быть как положительным (в будущее), так и отрицательным (в прошлое). Фишка в том, что если взять предыдущий день от предполагаемой даты доставки и с помощью этой функции добавить к нему один рабочий день, то мы получим либо ту же самую дату (если были будни), либо ближайший понедельник (если доставка выпала на субботу или воскресенье). Что и требуется:

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

Легко сообразить, что подобный подход можно использовать и для поиска ближайшего предыдущего, а не следующего рабочего дня.
Ссылки по теме
- Как Excel на самом деле хранит и обрабатывает даты и время
- Как вычислить возраст или стаж в Microsoft Excel
- Как определить сколько заданных дней недели попадает в интервал дат
Формула:
=ДЕНЬНЕД(A1;2)>5 То есть мы рассчитываем порядковый номер дня недели, который соответствует заданной дате, и если этот день имеет номер 6 или 7 (суббота или воскресенье), то наша формула возвратит нам значение ИСТИНА, что означает, что наша дата - выходной.
- дата
- Excel
- vba
Предположим, что счет за продукцию нужно выставлять только в рабочие дни, несмотря на дату доставки. Напишем формулу, которая определяет: если дата доставки попадает на выходной, то дата счета – следующий понедельник (или прошедшая пятница).
Если дата (ячейка
A
2
) попадает на субботу или воскресенье, то нижеследующая формула возвращает дату
следующего понедельника
(см.
Файл примера
):
=РАБДЕНЬ(A2-1;1)
или
=ЕСЛИ(ДЕНЬНЕД(A2;2)>5;A2+(8-ДЕНЬНЕД(A2;2));A2)
или дату
прошедшей пятницы
=ЕСЛИ(ДЕНЬНЕД(A2;2)>5;МИН(A2-(ДЕНЬНЕД(A2;2)-5);A2);A2)
Если дата попадает на воскресенье, то будет возвращена прошедшая суббота:
=ЕСЛИ(ДЕНЬНЕД(A2;2)>6;A2-1;A2)
Если дата попадает на воскресенье, то будет возвращен следующий понедельник:
=ЕСЛИ(ДЕНЬНЕД(A2;2)>6;A2+1;A2)
ВНИМАНИЕ!
Формулы не учитывают праздничные дни и переносы рабочих дней на выходные. В статье
Ближайший рабочий день с учетом праздников и переносов
учтены праздничные дни и переносы рабочих дней на выходные.
|
Определяем день ( рабочий или выходной) |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
||||||||
Ответить |
Microsoft Excel has several built-in WORKDAY functions that can be used for date calculations. Each function does a different job and the results differ from one function to the next.
Instructions in this article apply to Excel for Microsoft 365, Excel 2019, Excel 2016, and Excel 2013. Google Sheets uses the WORKDAY function also, but the steps are slightly different.
Purpose of the WORKDAY Function
The WORKDAY function finds the start or end date of a project or assignment when given a set number of work days. The number of work days automatically excludes weekends and any dates that are identified as holidays.
The WORKDAY function you use depends on the results you want, which may include one of the following:
- Find the end date for a project with a set number of work days following a given start date.
- Find the start date for a project with a set number of work days before a given end date.
- Find the due date for an invoice.
- Find the expected delivery date for goods or materials.
WORKDAY Function’s Syntax (Layout)
A function’s syntax refers to the layout of the function and includes the function’s name, brackets, and arguments.
The syntax for the WORKDAY function is:
=WORKDAY(Start_date,Days,Holidays)
Start_date (required) is the start date of the chosen time period. The actual start date can be entered for this argument or the cell reference to the location of this data in the worksheet can be entered instead.
Days (required) specifies the length of the project. This is an integer showing the number of days of work that will be performed on the project. For this argument, enter the number of days of work or the cell reference to the location of this data in the worksheet.
To find a date that occurs after the Start_date argument, use a positive integer for Days. To find a date that occurs before the Start_date argument use a negative integer for Days.
Holidays (optional) specifies one or more additional dates that are not counted as part of the total number of working days. Use the cell references to the location of the data in the worksheet for this argument.
How to Use the WORKDAY Function to Find an End Date—or Due Date
This tutorial uses the WORKDAY function to find the end date for a project that begins July 9, 2012, and finishes 82 days later. Two holidays (September 3 and October 
To avoid calculation problems that occur if dates are accidentally entered as text, use the DATE function to enter the dates in the function. See the error values section at the end of this tutorial for more information.
To follow this tutorial, enter the following data into the indicated cells:
D1: Start Date:
D2: Number of Days:
D3: Holiday 1:
D4: Holiday 2:
D5: End Date:
E1: =DATE(2012,7,9)
E2: 82
E3: =DATE(2012,9,3)
E4: =DATE(2012,10,8)
If the dates in cells E1, E3, and E4 don’t appear as shown in the image below, format the cells to display data using the short date format.
Create the WORKDAY Function
To create the WORKDAY function:
-
Select cell E5 to make it the active cell. This is where the results of the WORKDAY function will be displayed.
-
Go to the Formulas tab and select Date & Time > WORKDAY to display the Function Arguments dialog box.
When using the WORKDAY formula in Google Sheets, go to Insert > Function > All > WORKDAY. Or, enter =WORKDAY( in cell E5.
-
Place the cursor in the Start_date text box, then select cell E1 in the worksheet to enter this cell reference in the dialog box.
In Google Sheets, enter E1 after the first parentheses in cell E5.
-
Place the cursor in the Days text box, the then select cell E2 to enter that cell reference.
In Google Sheets, enter a comma and type E2 so that the formula looks like this:
=WORKDAY(E1,E2)
-
Place the cursor in the Holidays text box, then drag to select cells E3 and E4 to use those cell references.
In Google Sheets, end the formula with a comma, then enter E3:E4. The formula looks like this:
=WORKDAY(E1,E2,E3:E4)
-
Select OK in the dialog box to complete the function. On a Mac, choose Done. In Google Sheets, press Enter.
The date 11/2/2012, the end date for the project, appears in cell E5 of the worksheet. When you select cell E5, the complete function appears in the formula bar above the worksheet.
Troubleshoot WORKDAY Function Errors
If the data for the various arguments of this function aren’t entered correctly, an error values appear in the cell where the WORKDAY function is located.
You’ll see one of these errors:
- #VALUE! appears in the answer cell if one of the WORKDAY arguments isn’t a valid date (if the date was entered as text, for example).
- #NUM! appears in the answer cell if an invalid date results from adding the Start_date and Days arguments.
- If the Days argument isn’t entered as an integer (such as 82.75 days), the number is truncated, rather than rounded up or down, to the integer portion of the number (for example, 82 days).
Thanks for letting us know!
Get the Latest Tech News Delivered Every Day
Subscribe














