NETWORKDAYS.INTL

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

Returns the number of working days between two dates excluding weekends and holidays.

start_dateThe starting date.
end_dateThe finishing date.
weekend(Optional) The number indicating which days to consider weekends:
1 = Saturday and Sunday (default)
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 Representation (eg 0000011)
holidays(Optional) A array of dates to exclude from the working calendar, holidays and floating days.

REMARKS
* This function replaces the NETWORKDAYS function.
* This function should be pronounced NET workdays.
* This function can be used to calculate the total days (given a start date and end date).
* Weekends will default to being Saturday and Sunday but this can be changed.
* This function can be used to calculate holiday entitlement that is based on the number of days worked during a specific period.
* This function will always exclude weekends but can also exclude any other dates specified in the "holidays" array.
* Both the "start_date" and the "end_date" are included in the total count.
* If "start_date" contains any time information, it is ignored.
* If "start_date" > "end_date", then the result will be negative.
* If "start_date" is out of range, then #NUM! is returned
* If "end_date" contains any time information, it is ignored.
* If "end_date" is out of range, then #NUM! is returned.
* If "holidays" is left blank, then only weekends will be excluded.
* The "weekend" can also use a string representation for your weekend.
* The string must be 7 characters and only contain characters 1 and 0. A 1 represents a non-working day and a 0 represents a working day.
* An example of a valid string representation would be 0000111 that would exclude Friday, Saturday and Sunday.
* If "weekend" is not recognised, then #VALUE! is returned.
* If "weekend" is an invalid string, then #VALUE! is returned.
* Holidays can be an array or a range of cells.
* You can use the DATE function to return the date as a date serial number given a year, month, day.
* You can use the DATEVALUE function to return the date serial number given a date in text format.
* You can use the DAYS function to return the number of days between two dates.
* You can use the DAYS360 function to return the number of days between two dates, based on 30 day months.
* You can use the WORKDAY function to return the date serial number that is a given number of working days before or after a date.
* You can use the WORKDAY.INTL function to return the date serial number that is a given number of working days before or after a date.
* You can use the NETWORKDAYSMISC - User Defined Function if you want to use a VBA function.
* This function was added in Excel 2010 to replace the NETWORKDAYS function.
* For the Microsoft documentation refer to support.microsoft.com
* For the Google documentation refer to support.google.com

 AB
1=NETWORKDAYS.INTL("1 Jan 2021", "1 Jan 2021") = 1Fri, 1 Jan 2021
2=NETWORKDAYS.INTL("1 Jan 2022", "2 Jan 2022") = 0 
3=NETWORKDAYS.INTL("1 Jan 2022", "2 Jan 2022", 2) = 1Sat, 1 Jan 2022
4=NETWORKDAYS.INTL("1 Jan 2022", "3 Jan 2022") = 1Sun, 2 Jan
5=NETWORKDAYS.INTL("1 Jan 2022", "9 Jan 2022") = 5Mon, 3 Jan
6=NETWORKDAYS.INTL("1 Jan 2022", "4 Jan 2022", 1, "3 Jan 2022") = 1Tue, 4 Jan
7=NETWORKDAYS.INTL("1 Jan 2022", "4 Jan 2022", 1, {"3 Jan 2022", "4 Jan 2022"}) = 0Wed, 5 Jan
8=NETWORKDAYS.INTL("1 Jan 2022", "1 Feb 2022", 2) = 22Thu, 6 Jan
9=NETWORKDAYS.INTL("30 Jan 2022", "02 Feb 2022", 2) = 2Fri, 7 Jan
10=NETWORKDAYS.INTL("31 Jan 2022", "02 Feb 2022", 2) = 2Sat, 8 Jan
11=NETWORKDAYS.INTL( DATE(2022, 1, 1), DATE(2022, 1, 9)) = 5Sun, 9 Jan
12=NETWORKDAYS.INTL("14 Jan 2022", "1 Jan 2022") = -10 
13=NETWORKDAYS.INTL("1 Jan 2022", "9 Jan 2022", 2, {"3 Jan 2022", "4 Jan 2022"}) = 5 
14=NETWORKDAYS.INTL("1 Jan 2022","9 Jan 2022", { 1, 2 }) = { 5 , 6 } 
15=NETWORKDAYS.INTL(1/1/2022, 31/12/2022) = 0 
16=NETWORKDAYS.INTL("1/30/2024", "invalid dates") = #VALUE! 
17=NETWORKDAYS.INTL("1 Jan 2024", "9 Jan 2024", {"some text"}) = #VALUE! 

1 - Does "1 Jan 2021" fall on a workday or a weekend. This is a Friday. When the start date and end date are the same, this function returns 1 when it's a workday.
2 - How many working days between 1 Jan 2022 and 2 Jan 2022. These days were Saturday and Sunday, so zero.
3 - How many working days between 1 Jan 2022 and 2 Jan 2022 assuming the weekend is Sunday and Monday. The 1 Jan is Saturday, so one.
4 - How many working days between 1 Jan 2022 and 3 Jan 2022. These days were Saturday, Sunday and Monday, so one.
5 - How many working days between 1 Jan 2022 and 9 Jan 2022. Two of these days are Saturday and two are Sunday, so 9 - 4 = 5
6 - How many working days between 1 Jan 2022 and 4 Jan 2022. The 1 Jan is Saturday and 2 Jan is Sunday and since the 3 Jan is a holiday the only workday is 4 Jan.
7 - How many working days between 1 Jan 2022 and 4 Jan 2022. The 1 Jan is Saturday and 2 Jan is Sunday and since both 3 Jan and 4 Jan are holidays there are no working days.
8 - How many working days between 1 Jan 2022 and 1 Feb 2022 assuming the weekend is Sunday and Monday.
9 - How many working days between 30 Jan 2022 and 2 Feb 2022 assuming the weekend is Sunday and Monday. There are 31 days in January but 30 Jan 2022 is Sunday.
10 - How many working days between 31 Jan 2022 and 2 Feb 2022 assuming the weekend is Sunday and Monday.
11 - This is the same as Example 5 using the DATE function.
12 - How many working days between 14 Jan 2022 and 1 Jan 2022. The start date is before the end date.
13 - How many working days between 1 Jan 2022 and 9 Jan 2022. Two additional holidays have been provided which fall on a Monday and a Tuesday, so 5 - 2 = 3
14 - ??
15 - How many working days between 1/1/2022 and 31/12/2022. These are not recognised dates and are just very small values.
16 - If the start_date or end_date are not valid dates, then #VALUE! is returned.
17 - If the holidays does not contain valid dates, then #VALUE! is returned.

© 2025 Better Solutions Limited. All Rights Reserved. © 2025 Better Solutions Limited Top