Excel NETWORKDAYS.INTL Function
The Excel NETWORKDAYS.INTL function calculates the number of working days between two dates. NETWORKDAYS.INTL excludes Saturday and Sunday by default, but provides a way to specify which days of the week are considered weekends. The function can optionally exclude a list of holidays supplied as dates.
- start_date - The start date.
- end_date - The end date.
- weekend - [optional] Setting for which days of the week should be considered weekends.
- holidays - [optional] A reference to dates that should be considered non-work days.
NETWORKDAYS.INTL calculates work days between two dates. Work days exclude weekends (Saturday and Sunday by default) and can optionally exclude holidays. This function is more robust that the NETWORKDAYS function, because it allows you to control which days of the week are considered weekends. The weekend argument is set using the codes listed in the table below.
NETWORKDAYS.INTL includes both the start date and end date when calculating work days. This means if you give NETWORKDAYS.INTL the same date for start date and end date, and the date is not a weekend or holiday, it will return 1.
NETWORKDAYS.INTL can also optionally take into account holidays. For the holidays argument, supply a range that contains holiday dates. These are also treated as non-working days and will not be included in the result.
In the example shown, the following formulas are used:
|Weekend number||Weekend days|
|1 (default)||Saturday, Sunday|
Mask for workdays
The NETWORKDAYS.INTL function can also accept a "mask" to specify weekends for the weekend argument. The mask is provided as a string of 7 characters which must be either 1 or zero. In this scheme, the number 1 means weekend and 0 means workday. The first digit represents Monday. Below are some examples:
- If start_date is greater than end_date, the the function returns a negative value.
NETWORKDAYS.INTL includes both the start date and end date when calculating work days. This means if you give NETWORKDAYS.INTL the same date for start date and end date, it will return 1.
- If start_date or end_date are out of range, NETWORKDAYS.INTL returns the #NUM! error.
- If weekend is invalid, NETWORKDAYS.INTL returns the #VALUE! error.