NETWORKDAYS is a built in function accepts a start date, end date, and (optionally) a range that contains holiday dates.
In this case, the start date is Jan 10, 2018, provided as cell B5. The end date is calculated using the EOMONTH function with an offset of zero, which returns the last day of the month of the date given. A list of holidays is provided as the range E5:E14.
The EOMONTH function resolves to Jan 31, 2018, and the number of working days between Jan 10 and Jan 31 (inclusive) is 16. One of those working days (Jan 15) is listed as a holiday, so NETWORKDAYS returns a final result of 15.
Working days remaining this month
To return the working days that remain in the current month, the formula can be adapted with the TODAY function as follows:
Custom workdays / weekends
To work with custom weekends (i.e. weekends are Sunday and Monday, etc.) switch to the more robust NETWORKDAYS.INTL function, which allows control over which days of the week are considered workdays. See NETWORKDAYS.INTL for more information.
Need a date?
If you need to calculate a date n workdays in the past or future, see the WORKDAY function.