WORKDAY returns the date that falls a specified number of working days before or after a start date, automatically skipping Saturdays, Sundays and any holidays you list. It is the fastest way to find a realistic due date, delivery date or deadline without counting weekends by hand.
=WORKDAY(start_date, days, [holidays])What does WORKDAY do?
WORKDAY answers a question that comes up constantly in offices and classrooms: if I start something today and it takes a certain number of working days, when will it actually be done? Instead of counting on a calendar and skipping weekends yourself, you give WORKDAY a start date, a number of working days and, optionally, a list of holidays. It returns the exact date the work will finish.
The function matters because weekends and public holidays are where manual date maths goes wrong. A simple addition like =A2+10 adds ten calendar days, which might include two weekends and a bank holiday, so the real deadline is later than you planned. WORKDAY builds the working calendar into the calculation, so project plans, payment terms and service-level agreements stay realistic.
A typical situation: a support team promises to resolve a ticket within five working days. The ticket is logged on a Friday, and the next Monday is a public holiday. With WORKDAY and a small holiday list, the promised date is correct every time, even when the start date falls just before a weekend or a holiday.
When to use WORKDAY
- Calculating a project deadline measured in working days rather than calendar days.
- Working out an invoice due date such as net 30 business days.
- Setting a delivery or shipping date that skips weekends and public holidays.
- Finding the date a service-level agreement (SLA) expires, for example five working days after a ticket is raised.
- Planning backwards from a deadline to find the latest working day you can start.
- Scheduling follow-up calls or reminders a set number of business days after a meeting.
WORKDAY syntax
=WORKDAY(start_date, days, [holidays])| Argument | Required? | What to enter |
|---|---|---|
start_date | Required | The date you begin counting from. Enter a date, a cell containing a date, or a function such as TODAY(). Example: DATE(2025,3,3) for 3 March 2025. |
days | Required | The number of working days to move forward. Use a positive number for a future date and a negative number for a past date. Example: 10 moves ten working days ahead. |
holidays | Optional | An optional range or list of dates to treat as non-working days in addition to weekends. Example: F2:F5 where those cells hold public holidays. |
What it returns: A date serial number formatted as a date: the working day that is the specified number of working days after (or before) the start date, excluding Saturdays, Sundays and any listed holidays. If the result would land on a weekend or holiday, WORKDAY keeps moving forward (or backward) until it finds a working day.
WORKDAY examples
1 Example 1: Add ten working days to a start date
The goal is to find the date ten working days after a project kick-off. The formula =WORKDAY(B2,C2) takes the start date in B2 and the number of working days in C2. Excel counts forward, skipping Saturdays and Sundays, and returns the tenth working day. Because no holidays are supplied, only weekends are excluded, and the result is 17 March 2025.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Task | Start date | Working days | |||
| 2 | Project kick-off | 2025-03-03 | 10 | 2025-03-17 | ||
| 3 |
2 Example 2: Include public holidays in the count
Here the same ten working days must also skip a public holiday. The formula =WORKDAY(B2,C2,F2:F3) adds the holiday range F2:F3 to the calculation. Excel counts ten working days forward from 3 March 2025 but treats 10 March and 14 March as non-working days, so it needs two extra days and lands on 19 March 2025.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Task | Start date | Working days | Holiday | |||
| 2 | Project kick-off | 2025-03-03 | 10 | 2025-03-19 | 2025-03-10 | ||
| 3 | 2025-03-14 | ||||||
| 4 |
3 Example 3: Find a due date 30 business days after an invoice
This example calculates a payment due date of 30 business days after the invoice date. The formula =WORKDAY(B2,C2,F2:F4) uses the invoice date in B2, the 30 working days in C2 and the holiday list in F2:F4. Excel moves forward 30 working days, skipping weekends and the three listed holidays, and returns 16 April 2025.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Invoice | Invoice date | Business days | Holiday | |||
| 2 | INV-1042 | 2025-03-03 | 30 | 2025-04-17 | 2025-03-10 | ||
| 3 | 2025-03-14 | ||||||
| 4 | 2025-03-21 | ||||||
| 5 |
4 Example 4: Work backwards to a latest start date
Sometimes you know the deadline and need the latest working day you can start. A negative number in the days argument makes WORKDAY count backwards. The formula =WORKDAY(B2,C2) starts at the deadline in B2 and moves 15 working days into the past, skipping weekends, to return 10 March 2025 as the latest start date.
| A | B | C | D | E | F | |
|---|---|---|---|---|---|---|
| 1 | Deliverable | Deadline | Working days needed | |||
| 2 | Quarterly report | 2025-03-31 | -15 | 2025-03-10 | ||
| 3 |
5 Example 5: Calculate an SLA expiry date from a ticket date
A support team promises to resolve tickets within five working days. The formula =WORKDAY(B2,C2,F2:F3) takes the ticket date in B2, the five working days in C2 and the holiday list in F2:F3. Excel counts five working days forward from 1 May 2025, skips the weekend and the 5 May holiday, and returns 9 May 2025 as the SLA expiry date.
| A | B | C | D | E | F | G | |
|---|---|---|---|---|---|---|---|
| 1 | Ticket | Ticket date | SLA working days | Holiday | |||
| 2 | TCK-7781 | 2025-05-01 | 5 | 2025-05-12 | 2025-05-05 | ||
| 3 | 2025-05-06 | ||||||
| 4 |
Common WORKDAY errors and how to fix them
| Error | Why it happens | How to fix it |
|---|---|---|
| #VALUE! | The start_date or days argument is text that Excel cannot interpret as a date or number, for example "next Monday". | Enter a real date, a cell containing a date, or a function such as DATE(2025,3,3); make sure the days argument is a number. |
| #NUM! | The result falls outside Excel's supported date range, which can happen with a very large positive or negative days value. | Use a smaller days value, or check that the start_date is a sensible date rather than a number that looks like a date. |
| Wrong date returned | Holidays were left out, or the holiday range includes dates that are not actually non-working days. | Add the holiday range as the third argument and keep the list clean, containing only real public or company holidays. |
| Start date counted as day one | Expecting WORKDAY to include the start date in the count. It does not: counting begins on the next working day. | If you need the start date included, use WORKDAY(start_date, days-1, holidays) or add one to the days value. |
| #NAME? | The function name is misspelled, for example WORKDAYS or WORKDAY written with a space. | Type =WORKDAY( and let Excel's formula suggestions complete the name. |
Tips for using WORKDAY
- Store your holiday dates in a separate range and refer to it with absolute references such as
$F$2:$F$20so the formula can be copied down safely. - Use a negative days value to count backwards, for example to find the latest start date before a deadline.
- Format the result cell as a date; if you see a five-digit number, the cell is formatted as General or Number.
- WORKDAY always skips Saturday and Sunday. If your organisation works a different week, use
WORKDAY.INTL, which lets you choose which days are the weekend. - Combine WORKDAY with
TODAY()to get a live due date, for example=WORKDAY(TODAY(),5,$F$2:$F$20)for five working days from today. - Keep the holiday list up to date each year; an out-of-date list quietly produces wrong deadlines.
Frequently asked questions
Does WORKDAY include the start date?
No. Counting begins on the next working day after start_date. If the start date is a Monday and days is 1, the result is Tuesday. To include the start date, subtract one from the days value.
What is the difference between WORKDAY and NETWORKDAYS?
WORKDAY gives you a date a number of working days away from a start date. NETWORKDAYS counts how many working days lie between two dates. They are opposites: one moves through the calendar, the other measures it.
Can WORKDAY count backwards?
Yes. Use a negative number for days, for example =WORKDAY(B2,-10), and Excel moves backwards through working days, skipping weekends and any holidays you list.
Why does WORKDAY return a number instead of a date?
Excel stores dates as serial numbers. The cell is probably formatted as General or Number. Apply a Date format to the cell and the serial number will display as a date.
Can I use WORKDAY with a custom weekend?
Not directly. WORKDAY always treats Saturday and Sunday as the weekend. Use WORKDAY.INTL when you need a different weekend pattern, such as Friday and Saturday.
Related functions
Every example on this page was recalculated by SheetSkill’s spreadsheet engine. WORKDAY reference