NETWORKDAYS function

NETWORKDAYS counts working days between two dates, excluding weekends and optional holidays—essential for project scheduling and availability planning.

=NETWORKDAYS(start_date, end_date, [holidays])

Generate a NETWORKDAYS formula

Describe what you need. The generator will reach for NETWORKDAYS where NETWORKDAYS is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

How NETWORKDAYS reads its arguments
start_daterequiredend_daterequiredholidaysoptionalNETWORKDAYS
ArgumentRequiredDescription
start_dateRequiredThe first date in the range (required). Must be a valid date; if later than end_date, returns #NUM!.
end_dateRequiredThe last date in the range (required). Must be a valid date; inclusive in the count.
holidaysOptionalOptional range of dates to exclude as non-working days. Can be a single cell, array, or range; omit to count weekdays only.

Returns

An integer representing the count of working days (weekdays minus holidays) in the range.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Count working days in January for hourly income projection

CategoryMonthBudgetedActualVariance
SalaryJan 2024$3,000$2,950-$50
RentJan 2024$1,000$1,000$0
=NETWORKDAYS(DATE(2024,1,1), DATE(2024,1,31))

Result: 23

January 2024 runs from Monday the 1st through Wednesday the 31st, spanning five weeks. After excluding 8 weekend days (4 Saturdays, 4 Sundays), 23 working days remain. For hourly earners, knowing the exact working days lets you forecast monthly income: if you earn $130/hour, 23 days × 8 hours/day × $130 = $23,920 before adjustments.

2. Exclude holidays to calculate billable working days

CategoryMonthBudgetedActualVariance
SalaryJan 2024$2,850$2,800-$50
BonusJan 2024$500$0-$500
=NETWORKDAYS(DATE(2024,1,1), DATE(2024,1,31), {DATE(2024,1,1), DATE(2024,1,15)})

Result: 21

From the base 23 working days, we subtract New Year's Day (Monday 1/1) and a scheduled personal day (Monday 1/15). This leaves 21 billable days. In a household context, adjust your monthly salary budget from $3,000 to 21/23 × $3,000 = $2,739 if income is hourly and tied to working days.

3. Compare February's shorter working calendar to January

CategoryMonthBudgetedActualVariance
SalaryFeb 2024$2,850$2,800-$50
RentFeb 2024$1,000$1,000$0
=NETWORKDAYS(DATE(2024,2,1), DATE(2024,2,29))

Result: 21

February 2024 (leap year) has 29 calendar days but only 21 working days. Comparing to January's 23 shows you should expect lower income for February: budget $2,850 instead of $3,000. This is why February bonuses and overtime opportunities become important—you have two fewer billable days despite the month being nearly as long.

Common errors

Which NETWORKDAYS error are you seeing?
NETWORKDAYS returned an error#VALUE!
Wrap text dates in DATEVALUE() or DATE(): =NETWORKDAYS(DATE(2024,1,1), DATE(2024,1,31)). Or ensure source cells are formatted as dates, not text.
#NUM!
Reverse the argument order: =NETWORKDAYS(DATE(2024,1,1), DATE(2024,1,31)) instead of =NETWORKDAYS(DATE(2024,1,31), DATE(2024,1,1)).
#REF!
Verify the range exists and is spelled correctly. Replace cell references with a direct array like {DATE(2024,1,1), DATE(2024,7,4)} if the source data is unstable.
ErrorWhy it happensHow to fix it
#VALUE!start_date or end_date is not recognized as a valid date. This occurs when you pass unquoted text ("1/1/2024" instead of DATE(2024,1,1)), a non-date value, or a cell formatted as text instead of a date.Wrap text dates in DATEVALUE() or DATE(): =NETWORKDAYS(DATE(2024,1,1), DATE(2024,1,31)). Or ensure source cells are formatted as dates, not text.
#NUM!start_date is after end_date. NETWORKDAYS cannot calculate a positive working-day count if the range is backward.Reverse the argument order: =NETWORKDAYS(DATE(2024,1,1), DATE(2024,1,31)) instead of =NETWORKDAYS(DATE(2024,1,31), DATE(2024,1,1)).
#REF!The holidays argument references a range that no longer exists (e.g., you deleted a column, renamed a sheet, or removed a named range).Verify the range exists and is spelled correctly. Replace cell references with a direct array like {DATE(2024,1,1), DATE(2024,7,4)} if the source data is unstable.

Tips and when to use something else

  • Both start_date and end_date are included in the count. If they're the same weekday with no holiday, the result is 1, not 0.
  • NETWORKDAYS always excludes Saturday and Sunday. To count weekends instead or use a different weekend pattern, use NETWORKDAYS.INTL with a custom mode argument.
  • For a quick weekday-only count, prefer NETWORKDAYS over calculating =DAYS(end, start) - (weekends). NETWORKDAYS is clearer and handles holidays automatically.
  • Holidays are matched by date value; ensure they're actual dates (from DATE() or DATEVALUE()), not text, or they'll be ignored silently.

Frequently asked questions

Does NETWORKDAYS count the start and end dates?
Yes, both are inclusive. If start_date and end_date are the same weekday with no holiday, it returns 1. If either is a weekend day, that day contributes 0.
Can I use NETWORKDAYS to count only weekend days?
Not directly. Use NETWORKDAYS.INTL with mode 11 or 12 for weekend counting, or subtract: =DAYS(end_date, start_date) - NETWORKDAYS(start_date, end_date).
What if the holidays range is empty or has no dates in the working period?
The function ignores the empty holidays argument and counts weekdays only, as if the holidays parameter were omitted.
Does NETWORKDAYS work across multiple years?
Yes. It calculates across any date range, including multi-year spans, using the Gregorian calendar. Regional or non-standard work weeks require NETWORKDAYS.INTL for customization.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17