Excel WORKDAY.INTL Function: Syntax, Examples and Tips

Part of the free Module 5: Excel Formulas and Functions · Function 100 of 102 · Full Excel course

The Excel WORKDAY.INTL function returns the date that is a given number of working days before or after a start date, using a weekend pattern you define and an optional holiday list. It extends WORKDAY, which is fixed to Saturday and Sunday, so it handles Friday-Saturday weekends, six-day weeks and individual rest-day rosters. It is available in Excel 2010 and later.

Syntax

=WORKDAY.INTL(start_date, days, [weekend], [holidays])

Arguments

Argument Required / Optional Meaning
start_date Required The date to count from, as a real date. It is not counted itself.
days Required Working days to move; positive forward, negative back. Decimals are truncated.
weekend Optional A weekend code (1 to 7 or 11 to 17) or a 7-character string of 1s and 0s for Monday to Sunday, where 1 marks a non-working day. Default is 1 (Saturday and Sunday).
holidays Optional A range or array of dates to skip in addition to the weekend.

Weekend codes

Code Weekend days Code Weekend day
1 or omitted Saturday, Sunday 11 Sunday only
2 Sunday, Monday 12 Monday only
3 Monday, Tuesday 13 Tuesday only
4 Tuesday, Wednesday 14 Wednesday only
5 Wednesday, Thursday 15 Thursday only
6 Thursday, Friday 16 Friday only
7 Friday, Saturday 17 Saturday only

How WORKDAY.INTL works

The function moves one calendar day at a time from start_date, counting only days that are not weekend days and not in the holiday list, until the requested number has been counted. With start date Thursday 3 September 2026 and weekend code 7 (Friday-Saturday), =WORKDAY.INTL(A2,1,7) returns Sunday 6 September, because Friday and Saturday are skipped. The string form gives full control: "0000011" is the standard weekend, "0000001" is Sunday only and "1111111" returns #VALUE! because no working days exist. The result is a serial number that needs a date format.

Step-by-step example: delivery dates for a Gulf-region warehouse

  1. Enter order dates in column A and processing times in working days in column B. List local holidays in E2:E8.
  2. In C2 enter =WORKDAY.INTL(A2,B2,7,$E$2:$E$8). Code 7 sets the Friday-Saturday weekend.
  3. Apply a date format to column C and fill down. An order placed on Wednesday 2 September 2026 with a 3-day lead time is ready on Monday 7 September.
  4. To compare with a Sunday-only weekend, change 7 to 11; the same order is ready on Saturday 5 September.

Practical use cases

1. Deadline for a six-day working week

=WORKDAY.INTL(A2,10,11,Holidays)

2. Per-employee rest days from a roster

=WORKDAY.INTL(A2,B2,VLOOKUP(C2,Roster,2,FALSE),Holidays)

The roster stores each person’s weekend string, such as “0010010” for Wednesday and Saturday off.

3. Next scheduled Monday delivery

=WORKDAY.INTL(A2,1,"0111111")

Marking every day except Monday as non-working returns the next Monday after A2.

4. Latest start to hit a deadline with a Friday-Saturday weekend

=WORKDAY.INTL(Deadline,-Duration,7,Holidays)

5. Skip only public holidays, no weekend

=WORKDAY.INTL(A2,B2,"0000000",Holidays)

Common mistakes and tips

  • String order: the seven characters run Monday to Sunday. “1000000” makes Monday the rest day.
  • Invalid codes: 8, 9, 10 and anything above 17 return #NUM!.
  • Start date not counted: like WORKDAY, counting begins the day after start_date.
  • Text holidays are ignored: keep holiday dates as real dates.
  • Old versions: Excel 2007 and earlier return #NAME?; only WORKDAY is available there.

WORKDAY.INTL compared with WORKDAY and NETWORKDAYS.INTL

WORKDAY is WORKDAY.INTL with the weekend fixed at code 1; use it when every schedule in the workbook follows a Monday-to-Friday week and the .INTL version when the pattern varies by country, site or person. NETWORKDAYS.INTL is the counting counterpart: it takes two dates and returns how many working days lie between them using the same weekend codes and strings, so the pair lets you both plan forward and measure backward with one set of assumptions. A useful consistency check is that NETWORKDAYS.INTL(start, WORKDAY.INTL(start,n,w), w) returns n+1 when the start date is a working day. Store the weekend code and holiday list as named ranges so all four working-day functions in the workbook stay aligned.

Related functions

Frequently asked questions

How do I use a Friday-Saturday weekend in WORKDAY.INTL?

Set the weekend argument to 7, or use the string “0000110”. Both mark Friday and Saturday as non-working days.

What is the difference between WORKDAY and WORKDAY.INTL?

WORKDAY always skips Saturday and Sunday. WORKDAY.INTL adds a weekend argument so any one or two rest days, or a custom seven-day pattern, can be used.

Why does WORKDAY.INTL return #VALUE!?

Either start_date is not a valid date, or the weekend string is invalid, for example “1111111” with no working days or a string that is not seven characters long.

Need a ready-made template? Browse 7,000+ Excel, Power BI and Google Sheets templates at NextGenTemplates.com.