Excel guide · 2 min read
How to count working days between two dates in Excel
=NETWORKDAYS(B2,C2). It counts Monday to Friday between the two dates, including both the start and end date. Add a holiday range as a third argument to skip public holidays too.Sample data
Every result on this page was calculated from this sheet by the same spreadsheet engine the Cellwise app uses.
| A | B | C | |
|---|---|---|---|
| 1 | Project | Start | End |
| 2 | Onboarding | 2026-11-02 | 2026-11-27 |
| 3 | Q4 audit | 2026-10-05 | 2026-10-16 |
| 4 | Migration | 2026-11-30 | 2026-12-31 |
| 5 | Short fix | 2026-11-06 | 2026-11-09 |
Method 1: NETWORKDAYS
NETWORKDAYS(start_date, end_date) counts every weekday from start to end, skipping Saturdays and Sundays. Onboarding runs from Monday 2 November to Friday 27 November 2026: four full weeks, so 20 working days.
Result: 20
Returns 20 working days.
Both ends are included
Unlike subtracting dates, NETWORKDAYS counts the start and end day if they are weekdays. Friday 6 to Monday 9 November is 2 working days: the Friday and the Monday. If you want working days after the start date, subtract 1.
Result: 2
Returns 2, counting the Friday and the Monday.
Exclude holidays
The third argument takes a range of holiday dates. List them in a column, then point at it, locked with dollar signs so it stays put as you fill down. December's migration includes Christmas Day, which falls on a Friday in 2026, so listing it drops that day out.
Without a holiday list, the Migration row counts 24 weekdays from 30 November to 31 December 2026. With 25 December listed, it drops to 23.
- Type your holiday dates in a column, for example F2:F10, with a header in F1.
- Enter
=NETWORKDAYS(B4,C4,$F$2:$F$10). - Any holiday that falls on a weekday is subtracted. Holidays on weekends are ignored, so they are not double-counted.
Custom weekends with NETWORKDAYS.INTL
If your weekend is not Saturday and Sunday, use NETWORKDAYS.INTL(start, end, weekend, holidays). Weekend code 7 means Friday and Saturday, and 11 means Sunday only. You can also pass a seven-character string like "0000011", where each 1 marks a day off, Monday first.
For a six-day week that only skips Sundays: =NETWORKDAYS.INTL(B2,C2,11).
Add working days to a date
To go the other way and find a deadline, use WORKDAY(start_date, days, holidays). =WORKDAY(B3,10) returns the date 10 working days after the start, skipping weekends. WORKDAY.INTL does the same with custom weekends.
Common mistakes
Counting is one more than expected
NETWORKDAYS includes both ends. Subtract 1 if you only want the days after the start.
Holidays not being excluded
The holiday cells contain text, not dates, or the range is not locked and slides as you fill down. Use real dates and $F$2:$F$10.
A negative result
The end date is before the start date. NETWORKDAYS returns a negative count instead of an error, so check the date order.
FAQ
How do I calculate working days in Excel?
Use =NETWORKDAYS(start,end). It counts Monday to Friday, inclusive of both dates. Add a holiday range as the third argument.
Does NETWORKDAYS include the start date?
Yes, both the start and end date are counted if they are weekdays. Subtract 1 if you need an exclusive count.
How do I count working days left until a deadline?
Use =NETWORKDAYS(TODAY(),B2). It updates every day, and counts today if today is a weekday.
How do I exclude only Sundays?
Use =NETWORKDAYS.INTL(start,end,11). Code 11 tells Excel that Sunday is the only non-working day.
Functions used
Related guides
- How to calculate days between two dates in Excel
- How to add months to a date in Excel
- Absolute vs relative cell references in Excel
- How to calculate age in Excel from date of birth
- How to use COUNTIF greater than in Excel
Updated