
Загальна формула
=NETWORKDAYS(date,EOMONTH(date,0),holidays)
Резюме
Для розрахунку робочих днів на місяць використовуйте функцію EOMONTH разом із функцією NETWORKDAYS. У наведеному прикладі формула в С4 така:
=NETWORKDAYS(B4,EOMONTH(B4,0),holidays)
Де "канікули" - це названий діапазон E3: E13.
Пояснення
По-перше, важливо розуміти, що значення у стовпці Місяць (B) - це фактичні дати, відформатовані у форматі користувацького числа "mmm".
Наприклад, B4 містить 1 січня 2014 року, але відображає лише "Jan" для спеціального формату чисел.
Сама формула базується на функції NETWORKDAYS, яка повертає кількість робочих днів між датою початку та датою закінчення з урахуванням святкових днів (якщо передбачено).
Для кожного місяця дата початку надходить із стовпця B, а дата закінчення обчислюється за допомогою функції EOMONTH так:
EOMONTH(B4,0)
EOMONTH бере дату і повертає останній день місяця. Сам місяць контролюється другим аргументом. Оскільки в цьому випадку ми хочемо залишитися в тому ж місяці, ми використовуємо нуль.
Нарешті, список свят подається як 3-й аргумент для NETWORKDAYS із використанням названих діапазонів свят (E3: E13).
Завдяки цій інформації NETWORKDAYS обчислює кількість робочих днів у кожному місяці, автоматично виключаючи вихідні та святкові дні.
Якщо вам потрібно більше контролювати, які дні вважаються вихідними, використовуйте функцію NETWORKDAYS.INTL.