Excel for Microsoft 365 Excel for Microsoft 365 for Mac Excel for the web Excel 2021 Excel 2021 for Mac Excel 2019 Excel 2019 for Mac Excel 2016 Excel 2016 for Mac Excel 2013 Excel Web App Excel 2010 Excel for Mac 2011 Excel Starter 2010 More…Less
This article describes the formula syntax and usage of the WORKDAY.INTL function in Microsoft Excel.
Returns the serial number of the date before or after a specified number of workdays with custom weekend parameters. Weekend parameters indicate which and how many days are weekend days. Weekend days and any days that are specified as holidays are not considered as workdays.
Syntax
WORKDAY.INTL(start_date, days, [weekend], [holidays])
The WORKDAY.INTL function syntax has the following arguments:
-
Start_date Required. The start date, truncated to integer.
-
Days Required. The number of workdays before or after the start_date. A positive value yields a future date; a negative value yields a past date; a zero value yields the start_date. Day-offset is truncated to an integer.
-
Weekend Optional. Indicates the days of the week that are weekend days and are not considered working days. Weekend is a weekend number or string that specifies when weekends occur.
Weekend number values indicate the following weekend days:
weekend-number |
Weekend days |
1 or omitted |
Saturday, Sunday |
2 |
Sunday, Monday |
3 |
Monday, Tuesday |
4 |
Tuesday, Wednesday |
5 |
Wednesday, Thursday |
6 |
Thursday, Friday |
7 |
Friday, Saturday |
11 |
Sunday only |
12 |
Monday only |
13 |
Tuesday only |
14 |
Wednesday only |
15 |
Thursday only |
16 |
Friday only |
17 |
Saturday only |
Weekend string values are seven characters long and each character in the string represents a day of the week, starting with Monday. 1 represents a non-workday and 0 represents a workday. Only the characters 1 and 0 are permitted in the string. 1111111 is an invalid string.
For example, 0000011would result in a weekend that is Saturday and Sunday.
-
Holidays Optional. An optional set of one or more dates that are to be excluded from the working day calendar. Holidays shall be a range of cells that contain the dates, or an array constant of the serial values that represent those dates. The ordering of dates or serial values in holidays can be arbitrary.
Remarks
-
If start_date is out of range for the current date base value, WORKDAY.INTL returns the #NUM! error value.
-
If any date in holidays is out of range for the current date base value, WORKDAY.INTL returns the #NUM! error value.
-
If start_date plus day-offset yields an invalid date, WORKDAY.INTL returns the #NUM! error value.
-
If a weekend string is of invalid length or contains invalid characters, WORKDAY.INTL returns the #VALUE! error value.
Example
Copy the example data in the following table, and paste it in cell A1 of a new Excel worksheet. For formulas to show results, select them, press F2, and then press Enter. If you need to, you can adjust the column widths to see all the data.
Formula |
Description |
Live Result |
=WORKDAY.INTL(DATE(2012,1,1),30,0) |
Using a 0 for the Weekend argument results in a #NUM! error. |
#NUM! |
=WORKDAY.INTL(DATE(2012,1,1),90,11) |
Finds the date 90 workdays from 1/1/2012, counting only Sundays as a weekend day (Weekend argument is 11). |
41013 |
=TEXT(WORKDAY.INTL(DATE(2012,1,1),30,17),»m/dd/yyyy») |
Uses the TEXT function to format the resulting serial number (40944) in a «m/dd/yyyy» format. Finds the date 30 workdays from 1/1/2012, counting only Saturdays as a weekend day (Weekend argument is 17). |
2/05/2012 |
Need more help?
Want more options?
Explore subscription benefits, browse training courses, learn how to secure your device, and more.
Communities help you ask and answer questions, give feedback, and hear from experts with rich knowledge.
The WORKDAY.INTL function calculates the «nearest» working day n days in the past or future, taking into non-working days. WORKDAY.INTL can be used to calculate due dates, delivery dates, and other dates that must exclude non-working days. Use a positive number as days for future dates and a negative number for past dates. This function is more robust than the WORKDAY function because it lets you customize which days of the week are considered weekends.
The WORKDAY.INTL function takes four arguments: start_date, days, weekend, and holidays. Start_date must be a valid Excel date. The days argument is the number of days in the future or past to move from start_date, taking into account non-working days. Use a positive number for days to move forward in time, and a negative number to move back.
The weekend argument is optional and controls which day(s) of the week should be considered weekends, and therefore non-working days. By default, WORKDAY.INTL will treat Saturday and Sunday as non-working days. See below for details on how to configure weekend to treat different days of the week as non-working days.
Holidays is an optional argument to specify non-working days. Holidays should be provided as a range that contains valid Excel dates. If holidays are not provided, WORKDAY.INTL will treat only Saturdays and Sundays as non-working days, unless the weekend argument has been set differently.
Note: WORKDAY.INTL does not include the start date as a work day.
Example #1 — basic usage
With the start_date in A1, days set to 1, and holidays in C1:C3:
=WORKDAY.INTL(A1,1) // default - Sat and Sun excluded
=WORKDAY.INTL(A1,1,11) // exclude Sun only
=WORKDAY.INTL(A1,1,11,C1:C3) // exclude Sun + dates in C1:C3
In the last two examples above, we use the numeric code 11 to set weekends to Mondays only. See the table below for the full list of available codes.
Example #2 — Weekend mask
Another (easier) way to specify weekend days is to use a 7-character «mask» to indicate weekends with ones and zeros. In this scheme, a text string of 7 ones and zeros are provided to indicate weekends, were the first character is Monday, and the last character is Sunday. Use one (1) to indicate weekend, and zero (0) to indicate a working day. This method is more flexible, since it allows you to designate any day(s) of the week as a weekend (i.e. non-working days). For example:
=WORKDAY.INTL(A1,3,"0000000") // no weekends
=WORKDAY.INTL(A1,3,"1000000") // weekend = Mon
=WORKDAY.INTL(A1,3,"1100000") // weekend = Mon+Tue
=WORKDAY.INTL(A1,3,"1110000") // weekend = Mon+Tue+Wed
=WORKDAY.INTL(A1,3,"1010000") // weekend = Mon+Wed
Weekend codes
Use any of the codes below for the weekend argument to select a «fixed» weekend option.
Code | Weekend days |
1 (default) | Saturday, Sunday |
2 | Sunday, Monday |
3 | Monday, Tuesday |
4 | Tuesday, Wednesday |
5 | Wednesday, Thursday |
6 | Thursday, Friday |
7 | Friday, Saturday |
11 | Sunday only |
12 | Monday only |
13 | Tuesday only |
14 | Wednesday only |
15 | Thursday only |
16 | Friday only |
17 | Saturday only |
Notes
- If start_date is invalid, WORKDAY.INTL returns the #NUM! error.
- If start_date + day is invalid, WORKDAY.INTL returns the #NUM! error.
- If any holiday is invalid, WORKDAY.INTL returns the #NUM! error.
- If weekend is invalid, WORKDAY.INTL returns the #VALUE! error.
Если вы хотите следовать этому руководству, загрузите пример электронной таблицы.
Описание
Наблюдения и советы этой статьи мы подготовили на основании опыта команды WORKDAY.INTL Функция добавляет указанное количество рабочих дней к дате начала и возвращает рабочий день в будущем или прошлом. Кроме того, он может исключить пользовательские праздники при расчете по мере необходимости.
Синтаксис и аргументы
Синтаксис формулы
WORKDAY.INTL (start_date, days, [weekend], [holidays])
аргументы
- Start_date: Необходимые. Дата начала, которая используется для расчета рабочего дня.
- Days: Необходимые. Количество рабочих дней, которое вы хотите добавить к дате начала. Он может быть отрицательным или положительным. Если вы хотите рассчитать рабочий день в прошлом, используя отрицательное число, верните будущий рабочий день, используя положительное число.
- Weekend: Необязательный. Число или серийный номер определяет, какие дни недели считаются выходными в формуле. По умолчанию суббота и воскресенье являются выходными.
- Holidays: Необязательный. Список дат или постоянный массив серийных номеров, которые считаются нерабочими днями.
Коды выходного дня
Число | Выходные дни |
1 (по умолчанию) | Суббота и воскресенье |
2 | Воскресенье и понедельник |
3 | Понедельник и вторник |
4 | Вторник и среда |
5 | Среда и четверг |
6 | Четверг и Пятница |
7 | Пятница и суббота |
11 | Только воскресенье |
12 | Только понедельник |
13 | Только вторник |
14 | Только среда |
15 | Только четверг |
16 | Только пятница |
17 | Только суббота |
Строка выходного дня
Серия из семи нулей и единиц, которые используются для обозначения выходных дней. Каждый символ обозначает один день недели, первый — понедельник, второй — вторник, третий — среду, последний — воскресенье. Например:
Строка выходного дня | Формула | Выходные дни |
«0000000» | РАБДЕНЬ.INTL (B3; C3; «0000000») | Без выходных |
«1000000» | РАБДЕНЬ.INTL (B3; C3; «1000000») | Только понедельник |
«1100000» | РАБДЕНЬ.INTL (B3; C3; «1100000») | Понедельник и вторник |
«1000011» | РАБДЕНЬ.INTL (B3; C3; «1000011») | Суббота, воскресенье и понедельник |
Возвращаемое значение
Функция РАБДЕНЬ.ИНТЛ возвращает дату в формате серийного номера.
Замечания
1.Если аргумент days является десятичным значением, функция РАБДЕНЬ добавляет только целое число к start_date.
2. При ссылке на диапазон ячеек как на выходные аргументы лучше использовать абсолютную ссылку или имя диапазона, в противном случае, когда вы перетаскиваете дескриптор заполнения по ячейкам для использования формулы, ссылка будет изменена.
ошибки
# ЧИСЛО! ошибка возникает, когда:
- Неверный аргумент start_date;
- Недействительные дни аргумента;
- Недействительный аргумент в выходные.
#ЗНАЧЕНИЕ! ошибка возникает, когда:
- Аргумент start_date, праздничные дни — недопустимые даты;
- Дни аргумента не являются числовыми;
- Выходной аргумент — недопустимая текстовая строка.
Использование и примеры
Пример 1 Расчет будущего или прошедшего рабочего дня с выходными по умолчанию и без праздников
Чтобы получить рабочий день на основе указанной даты начала в столбце B и дней в столбце C, используйте следующую формулу:
=WORKDAY.INTL(B3,C3)
Нажмите Enter нажмите и перетащите маркер автозаполнения на ячейки, которые вам нужны, чтобы применить эту формулу, и получите серийные номера.
Затем отформатируйте серийные номера в формате даты, как вам нужно. Не снимая выделения с серийных номеров, нажмите Главная > Формат номера , чтобы выбрать Короткое свидание or Длинное свидание из раскрывающегося списка.
Пример 2 Расчет рабочего дня с настраиваемыми выходными без учета праздников
Например, список дат начала в столбце B, список дней в столбце C, праздничные дни в столбце F, а выходные дни — понедельник и вторник. Используйте следующую формулу:
=WORKDAY.INTL(B3,C3,3,$F$3:$F$5)
Нажмите Enter нажмите и перетащите маркер автозаполнения на ячейки, которые вам нужны, чтобы применить эту формулу, и получите серийные номера.
Затем отформатируйте серийные номера в формате даты, как вам нужно. Не снимая выделения с серийных номеров, нажмите «Главная»> «Числовой формат», чтобы выбрать «Краткую дату» или «Длинную дату» из раскрывающегося списка.
Относительные функции:
-
Excel Days Функция
Чтобы рассчитать количество дней между двумя заданными датами, вам может помочь функция ДНИ в Excel.
-
Excel DAYS360 Функция
Функция DAYS360 может помочь вам вернуть количество дней между двумя датами на основе 360-дневного года, который, как считается, имеет 30 дней в каждом месяце.
-
Excel WEEKNUM Функция
Наблюдения и советы этой статьи мы подготовили на основании опыта команды WEEKNUM в Excel возвращает номер недели указанной даты в году, который начинает отсчет недель с 1 января.
-
Excel РАБДЕНЬ; Функция
РАБДЕНЬ используется для добавления указанного количества рабочих дней к дате начала и возвращает дату в будущем или в прошлом в формате серийного номера.
Лучшие инструменты для работы в офисе
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)
Оценок пока нет. Оцените первым!
The WORKDAY.INTL function is categorized as a DATE/TIME function in Excel and is an extension of the WORKDAY function that offers more customizability. In addition to allowing you to calculate N working days into the future or past like the WORKDAY function, it also allows you to set custom weekends.
The function has broad applicability in the business and financial world. It allows calculating productivity by day, computing metrics related to collections from debtors, or automatically compute due dates for invoices.
Syntax
The syntax of the WORKDAY.INTL function is as follows:
=WORKDAY.INTL(start_date, days, [weekend], [holidays])
Arguments:
‘start_date’ – This is a required argument where you must enter the date from which you want to begin your calculation.
‘days’ – This is a required argument where you may insert the number of working days you want to calculate into the future (positive value) or past (negative value).
‘weekend’ – This is an optional argument where you need to enter a code (see table below) that represents the day(s) that are weekend days. Alternatively, you may enter a binary text string using 0s and 1s to instruct Excel as to which days must be counted as weekend days. By default, the weekend days are assumed to be Saturday and Sunday.
‘holidays’ – This is an optional argument where you may enter a cell range that contains a list of holidays, which may or may not be in chronological order. The dates must be valid serial numbers that Excel recognizes as valid dates.
Weekend Codes and Description
Weekend Code | Weekend Days |
---|---|
1 (Default) | Saturday, Sunday |
2 | Sunday, Monday |
3 | Monday, Tuesday |
4 | Tuesday, Wednesday |
5 | Wednesday, Thursday |
6 | Thursday, Friday |
7 | Friday, Saturday |
11 | Sunday only |
12 | Monday only |
13 | Tuesday only |
14 | Wednesday only |
15 | Thursday only |
16 | Friday only |
17 | Saturday only |
Important Characteristics of the WORKDAY.INTL function
- The WORKDAY.INTL function calculates N working days into the future or the past, taking into consideration the data provided in the [weekend] and [holidays]
- The function helps you calculate delivery dates, due dates, and other similar calculations where you need to calculate working days.
- Using a positive value in the days argument will instruct the function to calculate working days in the future, while a negative value will instruct the function to calculate working days in the past.
- The WORKDAY.INTL function is an extension of the WORKDAY function because it allows setting customized weekends, which the WORKDAY function doesn’t.
- The date entered in the start_date is excluded from the calculation of the WORKDAY.INTL function.
- By default, the WORKDAY.INTL function assumes Saturdays and Sundays as weekend days.
- If the date entered in any of the three (start_date, days, or [holidays]) arguments is invalid, the function returns a #NUM! error.
- If the value entered in the [weekend] argument is invalid, the function returns a #VALUE! error.
Examples
Let’s try to see some examples of the WORKDAY.INTL function.
Example 1 – Plain Vanilla Formula for the WORKDAY.INTL Function
Let’s start with a simple, no-fuss version of the WORKDAY.INTL function. We will ignore [holidays] and [weekend] arguments for the time being. The formula we’ll use then is as follows:
=WORKDAY.INTL(A2,7)
Notice how calculating 7 working days from December 25 takes us to January 3 instead of January 1. This is because 2 days: December 29 and 30 are a Saturday and Sunday, respectively. The function doesn’t count them as working days, and they are therefore excluded from the computation.
Example 2 – Using the Optional Arguments
Alright, let’s fully leverage the potential of the WORKDAY.INTL function and use its optional arguments, because that’s where its most distinct feature lies. Say your company decides to treat Thursdays and Fridays as weekend days instead of Saturdays. Plus, you’ll also give your employees the last and the first day of the year off since they have worked so hard throughout the year to help your company grow.
In this case, calculating 7 days would require using the following formula:
=WORKDAY.INTL(A2,7,6,E2:E3)
The 6 in the formula’s third argument is the weekend code for setting Thursdays and Fridays as weekends (see table at the top), and the E2:E3 range contains the 2 dates that we want to be counted as holidays.
Notice how using this formula changes the output to January 7 (i.e., 13 days after December 25).
This is because even though the formula is still counting 7 working days, there are 4 weekend days between December 25 and January 7: December 27 and January 3 (Thursdays), December 28, and January 4 (Fridays). Plus, there are 2 holidays: December 31 and January 1. Out of the total 13 days, 6 days are off days, which leaves us with 7 working days.
Pretty cool, isn’t it? But… what if your CEO is really in a mood one day and decides to give Wednesdays and Saturdays off? Well, let’s remedy that.
Example 3 – Binary Text String for Custom Weekends in WORKDAY.INTL Function
What makes the WORKDAY.INTL function even more powerful is that it allows you to create a custom work week where you can choose any number of days as weekends, regardless of whether they are consecutive or not.
For instance, let’s continue using the data from previous examples (without adding any holidays) and see how the output changes if we set Wednesdays and Saturdays as weekends. We’ll construct the formula pretty much the same except for the [weekend] argument, where we’ll use a binary text string, like so:
=WORKDAY.INTL(A2,7,"0010010")
This time around, the output changes to January 4. Well, there are 10 days in total between December 25 and January 4. However, there are two Wednesdays (December 26 and January 2) and 1 Saturday (December 29). Taking these three days out of 10 days gives us … you guessed it — 7 working days!
Example 4 – Acceptable Inputs for [holidays] Argument
The [holidays] argument requires information about the dates that are to be considered as holidays. However, if your calculation only has a few holidays in the timeframe, you may not want to go through the hassle of creating a separate column and listing out the holidays.
Fortunately, there is a simpler way to accomplish this. The [holidays] argument also accepts validly formatted text string dates or serial numbers. For instance, if we want to instruct Excel to treat December 31 and January 1 as holidays, we could use either of the following formulas:
=WORKDAY.INTL(A2,7,6,{"12/31/2001","01/01/2002"})
OR
=WORKDAY.INTL(A3,7,6,{37256,37257})
Using either of these formulas will return the same output as the previous example (i.e., January 7). This is because we haven’t changed anything except for the method of supplying the information to the [holidays] argument.
Note: Excel internally stores dates as serial numbers. There is no magical formula that Excel uses to assign serial numbers to dates, though. The serial numbers are assigned such that January 1, 1900 is considered as 1, and thereafter the numbers increment with each day. Based on the same logic, Dec 31, 2001, corresponds to 37,256 because it is 37,255 days after January 1, 1900.
Recommended Reading – Excel NETWORKDAYS.INTL Function
WORKDAY Function vs WORKDAY.INTL Function
The WORKDAY function has all the arguments that the WORKDAY.INTL function has, except for the [weekend] argument. For this reason, WORKDAY.INTL is a more robust version of the relatively simpler WORKDAY function.
As is obvious, the WORKDAY.INTL function’s primary value comes from its ability to set custom weekends. Regardless of what weekend structure you want to use, you’ll be able to customize it in the formula and calculate the number of working days into the future or the past.
That brings our WORKDAY.INTL saga to an end. Hopefully, this tutorial will help you gain an edge over your colleagues as you run financial simulations or prepare efficient spreadsheets and get you noticed by the boss. While you keep your Excel thinking hat on, we’ll pull some more tutorials out of the bag. When you’ve mastered the WORKDAY.INTL function, you know where to find us.
Функция РАБДЕНЬ.МЕЖД была введена в Excel 2010 и возвращает порядковый номер даты, отстоящей вперед или назад на заданное количество рабочих дней.
Описание функции РАБДЕНЬ.МЕЖД
Возвращает порядковый номер даты, отстоящей вперед или назад на заданное количество рабочих дней, с указанием настраиваемых параметров выходных, определяющих, сколько в неделе выходных дней и какие дни являются выходными. Выходные и любые праздники не считаются рабочими днями.
Синтаксис
=РАБДЕНЬ.МЕЖД(нач_дата; количество_дней; [выходной]; [праздники])
Аргументы
нач_датаколичество_днейвыходнойпраздники
Обязательный. Начальная дата, усеченная до целого числа.
Обязательный. Количество рабочих дней до или после начальной даты. Положительное значение обозначает дату в будущем, отрицательное — дату в прошлом. Смещение усекается до целого числа.
Необязательный. Указывает, какие дни недели являются выходными и не считаются рабочими. Значение может задаваться номером выходного дня или строкой, определяющей, какие дни являются выходными.
Номера обозначают следующие выходные дни:
Номер выходного дня | Выходные дни |
---|---|
1 или опущен | Суббота, воскресенье |
2 | Воскресенье, понедельник |
3 | Понедельник, вторник |
4 | Вторник, среда |
5 | Среда, четверг |
6 | Четверг, пятница |
7 | Пятница, суббота |
11 | Только воскресенье |
12 | Только понедельник |
13 | Только вторник |
14 | Только среда |
15 | Только четверг |
16 | Только пятница |
17 | Только суббота |
Строковые значения дней недели включают семь знаков, каждый из которых обозначает день недели (начиная с понедельника). Значение 1 представляет нерабочие дни, а 0 — рабочие дни. В строке допустимо использовать только знаки 1 и 0. Строка 1111111 недопустима.
Например, 0000011 означает, что выходными днями являются суббота и воскресенье.
Необязательный. Набор из одной или нескольких дат, которые необходимо исключить из календаря рабочих дней. Значение «праздники» должно быть диапазоном ячеек, содержащих даты, или константой массива, включающей порядковые значения, которые представляют даты. Порядок дат или значений может быть любым.
Замечания
- Если значение «нач_дата» находится вне диапазона для текущего базового значения даты, функция РАБДЕНЬ.МЕЖД возвращает ошибку #ЧИСЛО!.
- Если дата любого из праздников находится вне диапазона для текущего базового значения даты, функция РАБДЕНЬ.МЕЖД возвращает ошибку #ЧИСЛО!.
- Если сумма аргумента «нач_дата» и смещения не является допустимой датой, функция РАБДЕНЬ.МЕЖД возвращает значение ошибки #ЧИСЛО!.
- Если строка, определяющая выходные, имеет недопустимую длину или содержит недопустимые знаки, функция РАБДЕНЬ.МЕЖД возвращает ошибку #ЧИСЛО!.