Skip to content

NETWORKDAYS.INTL function ​

Note: This draft page is under construction 🚧

Overview ​

NETWORKDAYS.INTL is a function of the Date and Time category that calculates the number of working days between two dates, with customizable weekend definitions and optionally specified holidays.

Usage ​

Syntax ​

NETWORKDAYS.INTL(start_date, end_date, [weekend], [holidays]) => workdays

Argument descriptions ​

  • start_date (number, required). The start date expressed as a serial number.
  • end_date (number, required). The end date expressed as a serial number.
  • weekend (number or string, optional). Defines which days are considered weekends. Default is 1 (Saturday-Sunday).
  • holidays (array or range, optional). A list of dates to exclude from the calculation, expressed as serial numbers.

Weekend parameter options ​

The weekend parameter can be specified in two ways:

Numeric codes:

  • 1 (default): Saturday and Sunday
  • 2: Sunday and Monday
  • 3: Monday and Tuesday
  • 4: Tuesday and Wednesday
  • 5: Wednesday and Thursday
  • 6: Thursday and Friday
  • 7: Friday and Saturday
  • 11: Sunday only
  • 12: Monday only
  • 13: Tuesday only
  • 14: Wednesday only
  • 15: Thursday only
  • 16: Friday only
  • 17: Saturday only

String pattern: A 7-character string of "0" and "1" where "1" indicates a weekend day. The string represents Monday through Sunday. For example, "0000011" means Saturday and Sunday are weekends.

Additional guidance ​

  • If the supplied start_date and end_date arguments have fractional parts, NETWORKDAYS.INTL uses their floor values.
  • If start_date is later than end_date, the function returns a negative number.
  • Empty cells in the holidays array are ignored.
  • The calculation includes both the start and end dates if they are workdays.

Returned value ​

NETWORKDAYS.INTL returns a number representing the count of working days between the two dates.

Error conditions ​

  • In common with many other IronCalc functions, NETWORKDAYS.INTL propagates errors that are found in its arguments.

  • If fewer than 2 or more than 4 arguments are supplied, then NETWORKDAYS.INTL returns the #ERROR! error.

  • If the start_date or end_date arguments are not (or cannot be converted to) numbers, then NETWORKDAYS.INTL returns the #VALUE! error.

  • If the start_date or end_date values are outside the valid date range, then NETWORKDAYS.INTL returns the #NUM! error.

  • If the weekend parameter is an invalid numeric code or an improperly formatted string, then NETWORKDAYS.INTL returns the #NUM! or #VALUE! error.

  • If the holidays array contains non-numeric values, then NETWORKDAYS.INTL returns the #VALUE! error.

  • For more information about the different types of errors that you may encounter when using IronCalc functions, visit our Error Types page.

Details ​

IronCalc utilizes Rust's chrono crate to implement the NETWORKDAYS.INTL function. This function provides more flexibility than NETWORKDAYS by allowing custom weekend definitions.

Examples ​