Cellwise

Excel guide · 2 min read

How to count working days between two dates in Excel

Use =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 formula on this page was calculated live against this sheet.

ABC
1ProjectStartEnd
2Onboarding2026-11-022026-11-27
3Q4 audit2026-10-052026-10-16
4Migration2026-11-302026-12-31
5Short fix2026-11-062026-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.

fx=NETWORKDAYS(B2,C2)

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.

fx=NETWORKDAYS(B5,C5)

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.

  1. Type your holiday dates in a column, for example F2:F10, with a header in F1.
  2. Enter =NETWORKDAYS(B4,C4,$F$2:$F$10).
  3. 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

Keep learning

Updated 2026-10-31