
Returns a workday date before or after a start date using custom weekend rules and optional holidays.
The Excel WORKDAY.INTL function returns a date before or after a given number of workdays. Unlike WORKDAY, it lets you define custom weekend patterns, which makes it useful for teams and regions that do not use the standard Saturday-Sunday schedule.
You can define weekends with either a numeric code such as 1, 7, or 11, or with a 7-character string such as "0000011". You can also exclude holidays by passing a range of holiday dates.
Calculates a future or past workday while respecting custom weekend rules and optional holidays.
Excel returns a date serial value, so format the result cell as a date if you want to display it clearly.
=WORKDAY.INTL(start_date, days, [weekend], [holidays])
start_date is the date you begin from. days is the number of working days to move. Positive values move forward, negative values move backward, and zero returns the start date itself. The optional weekend argument defines which days are non-working days, and holidays lets you exclude extra dates such as public holidays or company shutdowns.
These functions are closely related, but they are not equally flexible.
| Function | Weekend Handling | Best Use | Example |
|---|---|---|---|
WORKDAY |
Standard Saturday-Sunday only | Regular business calendars | =WORKDAY(A1,5) |
WORKDAY.INTL |
Custom weekend codes or strings | Regional, shift-based, or non-standard workweeks | =WORKDAY.INTL(A1,5,11) |
If the weekend is the normal Saturday-Sunday pattern, WORKDAY is usually enough. If the weekend pattern changes by country, department, or shift, WORKDAY.INTL is the better choice.
There are two main ways to define the weekend. The first is with a numeric code. For example, 1 means Saturday and Sunday, 7 means Friday and Saturday, and 11 means Sunday only.
The second method is a 7-character weekend string. The string starts with Monday and ends with Sunday. A 1 means that day is a non-workday, and a 0 means it is a workday. For example, "0000011" means Saturday and Sunday are off. Microsoft also notes that "1111111" is invalid because every day would be marked as a weekend.
WORKDAY.INTL also supports holidays, which is important for realistic scheduling. Even if a day is normally a workday, it will be skipped if it appears in the holiday list. This makes the function useful for delivery dates, support SLAs, project planning, and staffing schedules.
This example calculates a result date for a schedule where only Sunday is treated as a non-working day.
=WORKDAY.INTL("2026-01-01", 5, 11)
Weekend code 11 means Sunday only. This is useful for six-day workweeks where Saturday is still counted as a working day.
In cell F1, calculate 5 workdays after B1 using weekend code 11, where Sunday is the only weekend day.
A weekend string can be easier to read when you want to show the exact weekly pattern directly in the formula.
=WORKDAY.INTL("2026-01-01", 5, "0000011")
Because the string begins with Monday, "0000011" means Monday through Friday are working days and Saturday-Sunday are weekends.
In cell F2, use the weekend string "0000011" to calculate 5 workdays after B1.
WORKDAY.INTL can be part of a logical test, not just a displayed date result.
=WORKDAY.INTL(B1, 10, 1) > DATE(2026, 2, 1)
This returns TRUE or FALSE depending on whether the calculated deadline lands after the cutoff date. It is a useful pattern for SLA checks and deadline alerts.
In cell F3, test whether a 10-workday result from B1 falls after February 1, 2026.
You can wrap WORKDAY.INTL inside TEXT to format the result and combine it with other text.
="Ship: " & TEXT(WORKDAY.INTL(B1, 2, 1), "yyyy-mm-dd")
This is useful for dashboards, status messages, and customer-facing labels where you want the result to appear as readable text instead of a raw serial number.
In cell F4, build a text label that shows the date 2 workdays after B1.
WORKDAY.INTL returns a workday-based date using custom weekend rules.WORKDAY cannot.TEXT when building labels.Tell your friends about this post