Новости:

Новая редакция правил форума: 2.4. Если вопрос или ответ содержится во вложенном файле, все-равно кратко описывайте в сообщении вопрос или суть решения. Это необходимо, чтобы тему можно было найти через поиск.

Главное меню

Расчет продолжительности отпуска с учетом перенесенных выходных дней и празднико

Автор BoochBooch, 30.10.2017, 17:26

« назад - далее »

BoochBooch

Добрый день!
Изучил очень большую часть этого и других форумов, но решения так и не нашел. Помогите решить задачу без VBA.
Нужно рассчитать продолжительность отпуска (или дату последнего дня отпуска, или дату выхода из отпуска) с учетом выходных (суббота, воскресенье) и праздничных дней, а так же с учетом рабочих дней, попадающих на выходные. Отпуск ведомственный и регламентируется не ТК РФ. Продолжительность отпуска 30 календарных дней; при этом выходные и нерабочие праздничные дни, которые приходятся на период отпуска, в число календарных дней отпуска не включаются; количество выходных и нерабочих праздничных дней не может превышать 10 дней, то есть все, что больше 10 дней, уже считается независимо от того, выходной это день или рабочий.
Основная проблема возникает при учете рабочих дней, перенесенных на выходные.

BoochBooch



boa

Добрый день, попробуйте поиграться функцией NETWORKDAYS() / ЧИСТРАБДНИ()
у нее есть третий параметр "праздничные дни"
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

BoochBooch

Да, раньше так и делал. Всё замечательно работало пока не появились рабочие дни, перенесенные на сб, вс. И что с ними делать и как учитывать пока не пойму.

boa

28/4(сб.) - выходной день?
30/4(пн.) - тоже выходной?
или как понимать?
9/6(сб.) - 11/6 (пн)
в субботу работают, а в пн отдыхают? так понимать?
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

BoochBooch

В первом столбце таблички выходные:
01/1(пн.) - выходной
02/1(вт.) - выходной
...
30/4(пн.) - выходной
...
11/6(пн.) - выходной
...
и т.д.

Во втором столбце рабочие дни, которые правительством перенесены на субботы, т.е. в эти дни работаем:
28/4(сб.) - рабочий
9/6(сб.) - рабочий
29/12(сб.) - рабочий

boa

я вижу только одно решение
все субботы(за исключением обозначенных) добавить в список выходных/праздничных
а в формуле вместо 1 ([weekend] 3 параметр) использовать 11 т.е. выходной только вс., а не рабочие субботы с праздниками подтянутся.
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

BoochBooch

Отличный вариант! Спасибо!
На 2018 год подойдет, но если в следующие года рабочими сделают ещё и воскресенья, то опять придется что-то придумывать(

boa

тогда в список добавите и вс., а аргументом поставите строку из 7 нулей - "0000000"
Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра

BoochBooch

Как вариант...
А не подскажите как сгенерировать список всех суббот года за исключением рабочих, чтобы в ручную не возиться?

BoochBooch


boa

в одном столбике тянете дату от 01.01... до 31.12...
в другом функцию WEEKDAY() (по рус. ДЕНЬНЕД, кажется)
потом фильтром выбираете 6-ки и 7-ки  ;)

Ничто не обходится нам так дешево и не ценится так дорого, как вежливость...  Мигель Сервантес де Сааведра