Old thread, but I found it when searching and there is no acceptable answer yet so I wanted to answer it as it might help someone else in the future.
The problem with just subtracting 1 from the result is that it assumes your start date is a workday; the result will be wrong if your start date is a weekend or holiday.
What you need is to subtract a day if your start date is a workday, but subtract zero days if it's not a workday.
We can check if a date is a workday or not using networkdays with the same start and end date.
=NETWORKDAYS(A1,A1,holidays)
When A1 is a workday this will return 1. When A1 is a weekend or holiday this will return 0.
So knowing that we can calculate the non-inclusive number of days by subtracting the result of that check from our original networkdays result.
=NETWORKDAYS(A1,A2,holidays)-NETWORKDAYS(A1,A1,holidays)
Bookmarks