Здравствуйте. Чтобы узнать сколько прошло дней между датами – достаточно вычесть из большей даты меньшую. С рабочими днями так не получится, поэтому нужно пользоваться функцией ЧИСТРАБДНИ( начальная_дата ; конечная_дата ; [праздники] ).

Эта функция вычислит количество дней между указанными датами, за исключением выходных: субботы и воскресенья. Кроме того, аргументом «праздники» можно задать дополнительные выходные. Например, государственные или международные праздники, прочие специфические даты.

Вот пример расчета с помощью функции ЧИСТРАБДНИ:

подсчет рабочих дней

Простая и полезная функция, но не всегда гибкая. Когда у вас нестандартные выходные дни, она не подходит. В этом случае используйте функцию ЧИСТРАБДНИ.МЕЖД( начальная_дата ; конечная_дата ; [выходные] ; [праздники] ).

Здесь добавился один числовой параметр – «выходные». Для него предусмотрено 14 кодов:

Код

Выходные

1

Суббота, воскресенье (по умолчанию)

2

Воскресенье, понедельник

3

Понедельник, вторник

4

Вторник, среда

5

Среда, четверг

6

Четверг, пятница

7

Пятница, суббота

11

Воскресенье

12

Понедельник

13

Вторник

14

Среда

15

Четверг

16

Пятница

17

Суббота

Если ваш вариант кодами не предусмотрен, можно задать свой перечень набором нулей и единиц, но следует помнить, что программа первым днём недели считает воскресенье. Значит, если у вас выходной только в воскресенье, запишите код так: «1000000» (в кавычках!). А если в понедельник, среду и четверг, то так: «0101100». Думаю, принцип ясен.

К сожалению, на момент написания статьи все еще нет стандартной функции, которая считала бы количество рабочих дней с учетом переносов праздников и рабочих дней. Пользователи решают эти задачи с помощью собственных функций VBA или ручной корректировки.

Это всё по данной теме. Если у Вас остались вопросы — задавайте в комментариях!