Back to Functions

NETWORKDAYS

Returns the number of net working days between two provided days.

DateNETWORKDAYS(start_date, end_date, [holidays])

NETWORKDAYS counts the working days between two dates, skipping weekends and, optionally, a list of holidays. It is the function behind delivery estimates, SLA tracking, project durations and "how many business days do we have left?".

Syntax

=NETWORKDAYS(start_date, end_date, [holidays])
  • start_date: The first date of the period.
  • end_date: The last date of the period.
  • holidays [Optional]: A range or array of dates to exclude, such as F2:F20.

Weekends are Saturday and Sunday. Both the start date and the end date are included in the count if they are working days.

Basic examples

With Monday, March 2, 2026 in A2 and Friday, March 13, 2026 in B2:

=NETWORKDAYS(A2, B2)

Returns 10: two full working weeks, both end dates included.

=NETWORKDAYS(A2, B2, F2:F5)

With one public holiday inside that period listed in F2:F5, the result is 9.

=NETWORKDAYS(A2, A2)

Returns 1 for a weekday, and 0 for a Saturday or Sunday: the start and end date are the same day, and it counts if it is a working day.

Holidays

Keep holidays in their own list on a separate sheet, one date per cell, and refer to it. Use a named range such as Holidays to simplify the formula:

=NETWORKDAYS(A2, B2, Holidays)

Holidays that fall on a weekend make no difference, since weekends are excluded anyway. The list must contain real dates, not text.

You can also pass a few dates directly with an array:

=NETWORKDAYS(A2, B2, {DATE(2026, 12, 25), DATE(2026, 12, 26)})

Negative results

If the start date is after the end date, the result is negative (the count of working days going backwards):

=NETWORKDAYS(B2, A2)

Returns -10 for the dates above. To always get a positive count, wrap in ABS.

Practical patterns

Business days remaining until a deadline

=NETWORKDAYS(TODAY(), A2, Holidays)

This includes today if it is a working day. Subtract 1 to exclude today.

Business days elapsed (exclusive of the start)

=NETWORKDAYS(A2, B2, Holidays) - 1

The number of working days between two dates, not counting the first day. Useful for turnaround time.

SLA breach flag

=IF(NETWORKDAYS(A2, B2, Holidays) - 1 > 3, "Late", "On time")

Delivery date estimate

To go the other direction and find the date N working days away, use WORKDAY:

=WORKDAY(A2, 5, Holidays)

Returns the date five working days after A2.

Business days in a month

=NETWORKDAYS(EOMONTH(A2, -1) + 1, EOMONTH(A2, 0), Holidays)

Average per working day

=SUM(C2:C100) / NETWORKDAYS(MIN(A2:A100), MAX(A2:A100), Holidays)

Down a column

=ARRAYFORMULA(IF(B2:B = "", "", NETWORKDAYS(A2:A, B2:B, Holidays)))

Different weekends

NETWORKDAYS assumes a Saturday and Sunday weekend. If your calendar is different, such as Friday and Saturday, or a six-day week, use NETWORKDAYS.INTL:

=NETWORKDAYS.INTL(A2, B2, 7, Holidays)

The third argument is a weekend code (7 is Friday and Saturday) or a seven-character string such as "0000011", where 1 marks a non-working day, starting from Monday.

Working hours rather than days

NETWORKDAYS counts whole days. For hours, multiply by the daily hours:

=NETWORKDAYS(A2, B2, Holidays) * 8

For start and end times within the day, see Calculate Working Hours in Google Sheets.

Common errors

  • #VALUE!. One of the dates is text. Check alignment (real dates are right-aligned) and convert with DATEVALUE.
  • The count seems one too high. Both ends are included. Subtract 1 for "days between".
  • Holidays not excluded. The holiday cells contain text rather than dates, or fall outside the range.
  • A negative number. The start is after the end.
  • A different weekend. Switch to NETWORKDAYS.INTL.

NETWORKDAYS vs. DATEDIF vs. subtraction

Subtracting dates (B2 - A2) counts calendar days, including weekends. DATEDIF counts whole years, months or days. NETWORKDAYS counts only working days. Use it whenever weekends and holidays shouldn't count.

Frequently asked questions

Does NETWORKDAYS include the start date? Yes, if it is a working day, and the end date too.

Can I exclude half days? No. Subtract 0.5 manually for each half-day holiday.

What is the difference between NETWORKDAYS and WORKDAY? NETWORKDAYS counts the days between two dates. WORKDAY returns the date that is N working days from a start date.

Does it handle several holiday ranges? Combine them in an array: {Holidays2026; Holidays2027}.

Related Functions

  • WORKDAY: Returns the date a number of working days away.
  • NETWORKDAYS.INTL: Counts working days with custom weekends.
  • DATEDIF: Calculates the difference between two dates.
  • TODAY: Returns the current date.
  • EOMONTH: Returns the last day of a month.

Related Articles

Newsletter

More NETWORKDAYS examples coming soon.

We are building short, practical updates for Sheets power users.