Part of the free Module 5: Excel Formulas and Functions · Function 100 of 105 · Full Excel course
The Excel WORKDAY function returns the date that is a given number of working days before or after a start date, skipping Saturdays, Sundays and any holidays you list. It answers the scheduling question “if we start on this date and need ten working days, when do we finish?” and is the standard tool for deadlines, delivery promises and project plans.
Syntax
=WORKDAY(start_date, days, [holidays])
Arguments
| Argument | Required / Optional | Meaning |
|---|---|---|
| start_date | Required | The date to count from, as a real date. The start date itself is not counted. |
| days | Required | Number of working days to move. Positive values move forward, negative values move back. Decimals are truncated. |
| holidays | Optional | A range or array of dates to skip in addition to weekends. |
How WORKDAY works
WORKDAY steps forward (or back) one calendar day at a time, counting only Monday to Friday dates that are not in the holiday list, until it has counted the requested number of days. Starting on Thursday 3 September 2026, =WORKDAY(A2,1) returns Friday 4 September and =WORKDAY(A2,2) returns Monday 7 September because the weekend is skipped. The start date is never counted, so WORKDAY(A2,0) returns the start date even if it is a Saturday. The result is a serial number that needs a date format. Invalid dates return #VALUE!.
Step-by-step example: project task end dates
- Enter the project start date in A2 (for example 1 September 2026) and task durations in working days in column B. List company holidays in E2:E10.
- In C2 enter
=WORKDAY(A2,B2,$E$2:$E$10). For a 10-day task the result is 15 September 2026. - In A3 enter
=C2so the next task starts when the previous one ends, then copy C2 down. - Apply a date format to columns A and C. Change a duration in column B and the whole schedule shifts automatically.
Practical use cases
1. Delivery promise date
=WORKDAY(OrderDate,5,Holidays)
2. Latest start date to meet a deadline
=WORKDAY(Deadline,-Duration,Holidays)
A negative days value counts backwards.
3. Next working day (skip a weekend start)
=WORKDAY(A2-1,1,Holidays)
Returns A2 itself when it is a working day, otherwise the next working day.
4. Previous working day
=WORKDAY(A2,-1,Holidays)
5. Payroll date: third working day of next month
=WORKDAY(EOMONTH(A2,0),3,Holidays)
Common mistakes and tips
- Counting the start date: WORKDAY excludes it. If your rule counts the start day as day 1, use days-1.
- Relative holiday reference: lock the range with $ signs or a named range, or copied formulas will point at the wrong cells.
- Text holidays: dates stored as text are ignored silently, which produces schedules that are too short.
- Different weekends: WORKDAY always skips Saturday and Sunday. For other patterns use WORKDAY.INTL.
- Result shows a number: apply a date format.
WORKDAY compared with WORKDAY.INTL, NETWORKDAYS and EDATE
WORKDAY.INTL is the same function with a weekend argument, so it covers Friday-Saturday weekends, Sunday-only rest days and any custom pattern; if your organisation works a standard week, plain WORKDAY is shorter and clearer. NETWORKDAYS is the inverse operation: it takes two dates and returns the number of working days between them, whereas WORKDAY takes one date and a number of days and returns the other date. The two are often used together to check a schedule: NETWORKDAYS(start, WORKDAY(start,n)) equals n+1 when the start date is a working day. EDATE moves in calendar months rather than working days, which is right for contract anniversaries but not for effort-based planning. Keep the holiday list on a dedicated sheet as a named range so every scheduling formula shares it.
Related functions
- WORKDAY.INTL: working-day offsets with custom weekends.
- NETWORKDAYS: counts working days between two dates.
- EDATE: moves a date by calendar months.
- EOMONTH: month-end anchors for payroll and billing dates.
- See all lessons in the Excel Formulas course.
Frequently asked questions
Does WORKDAY count the start date?
No. Counting begins on the day after start_date, so WORKDAY(start,1) is the next working day.
How do I add working days excluding holidays in Excel?
List the holidays in a range and pass it as the third argument: =WORKDAY(A2,10,$E$2:$E$10). Weekends are skipped automatically.
Can WORKDAY subtract working days?
Yes. Use a negative days value, for example =WORKDAY(A2,-5), to find the date five working days earlier.
Need a ready-made template? Browse 7,000+ Excel, Power BI and Google Sheets templates at NextGenTemplates.com.