WORKDAY adds working days to a date, automatically skipping weekends. Here is everything — syntax, 6 real examples, WORKDAY.INTL, and how it differs from NETWORKDAYS.
WORKDAY adds a set number of working days to a date, automatically skipping weekends. The result is a future (or past) date that accounts for non-working days — making it the standard formula for payment due dates, project deadlines, delivery estimates, and SLA calculations.
Without WORKDAY, calculating "30 working days from today" would require manually counting through a calendar. WORKDAY does it in one formula.
=WORKDAY(start_date, days, [holidays])| Argument | Description |
|---|---|
| start_date required | The starting date. Use a cell reference, DATE function, or TODAY(). |
| days required | The number of working days to add. Use a negative number to go backwards. |
| holidays optional | A range of dates to exclude in addition to weekends — e.g. public holidays. |
WORKDAY returns a number. Format the cell as a date (Ctrl+1 → Date) to display it properly. Or wrap with TEXT: =TEXT(WORKDAY(A2,30),"dd/mm/yyyy").
An invoice is dated today. Payment is due 30 working days later.
=WORKDAY(TODAY(), 30)=WORKDAY(A2, 30)A2 contains the invoice date. Returns the date exactly 30 working days later, skipping all weekends automatically.
Your holidays are listed in column F. WORKDAY skips them in addition to weekends.
=WORKDAY(A2, 30, $F$2:$F$20)A deadline is in A2. When must work begin to finish 10 working days before the deadline?
=WORKDAY(A2, -10)="Due: "&TEXT(WORKDAY(A2, 30), "d mmmm yyyy")Produces "Due: 14 July 2026" — a readable deadline string you can include in a message or report.
Flag any case where the working day deadline has already passed.
=IF(WORKDAY(A2, 5) < TODAY(), "Breached", "On track")If your working week is different — Friday/Saturday weekends, six-day weeks, or any other pattern — use WORKDAY.INTL.
=WORKDAY.INTL(start_date, days, weekend, [holidays])The weekend argument uses a code or a string:
| Code | Weekend days |
|---|---|
| 1 (default) | Saturday and Sunday |
| 2 | Sunday and Monday |
| 7 | Friday and Saturday |
| "0000001" | Sunday only (6-day working week) |
| "0000011" | Saturday and Sunday (same as code 1) |
The 7-character string represents Mon–Sun. 1 = non-working, 0 = working.
| Formula | What it does | Use when |
|---|---|---|
| WORKDAY | Adds working days to get a future/past date | You need a deadline date |
| NETWORKDAYS | Counts working days between two dates | You need to count elapsed business days |
ExcelPro has WORKDAY and NETWORKDAYS exercises in the HR, Accounting and Small Business tracks. Free to start.
Try date exercises →