Страницы: 1
RSS
Как учесть ежегодный плавающий период отпуска через формулу, При составлении ежедневного расписания на несколько лет необходимо учесть плавающий период отпуска через формулу
 
Задача: составить ежедневное расписание очередности дежурств на 20-ти участках среди 20-ти участников на несколько лет, при условии:
1. каждый год все сотрудники уходят в отпуск на 10 дней;
2. этот отпускной период плавающий от начала апреля по конец мая, даты отпуска известны на 20 лет вперед;
3. каждый дежурный дежурит на следующий день на новом участке. Получается, что за 20-ть календарных дней каждый дежурный дежурит на всех участках.
В таблице номер участка обозначен красной цифрой от 1 до 20.
Отпуска выделены красной заливкой через условное форматирование.

не получается рассчитать через формулу очередность дежурства, которое учитывало бы отпускной период.
Подскажите в каком направлении двигаться.
Решение с помощью макроса не приемлемо.
Спасибо за помощь.
 
1. Участок после отпуска считать можно так
=MOD(COUNT($B2:EC2)-1;20)+$B2+1 но
2. для сокращения объема расчетов, а на каждый день это много, лучше для дня считать вхождение его в отпускной период отдельной строкой и результат использовать в остальных.
3. Формулу 1 использовать в тех ячейка которые идут после отпуска, то есть после пропуска только , а в остальных прибавлять 1 к предыдущему дню.

В файле не могу показать не успеваю.
Изменено: БМВ - 26.04.2024 08:01:51
По вопросам из тем форума, личку не читаю.
 
Максим Исаев,
так наверное:
Код
=ЕСЛИ(И(C$1>=ИНДЕКС(Отпуск!$B$1:$B$74;ПОИСКПОЗ(ГОД(C$1);Отпуск!$A$1:$A$74;0));C$1<=ИНДЕКС(Отпуск!$K$1:$K$74;ПОИСКПОЗ(ГОД(C$1);Отпуск!$A$1:$A$74;0)));"";ЕСЛИ(B2="";ЕСЛИ(ПРОСМОТР(999999;$B2:B2)+1=21;1;ПРОСМОТР(999999;$B2:B2)+1);ЕСЛИ(B2+1=21;1;B2+1)))
Изменено: evgeniygeo - 26.04.2024 08:10:30
 
evgeniygeo, с точки зрения все в одном у нас 366×20×кол лет расчетов. Многие повторяются и только грузят проц.
По вопросам из тем форума, личку не читаю.
 
БМВ,
я бы наверное лучше один раз заполнил и заменил на значения
 
Цитата
evgeniygeo написал:
я бы наверное лучше один раз заполнил
я б этот ад не заполнял совсем ;-)
По вопросам из тем форума, личку не читаю.
 
Добрый день! Вариант формулы в ячейку B2. А условным форматированием поправить цвет шрифта в ячейках где отпуск:
Код
=ОСТАТ(B$1-9-СЧЁТЕСЛИ(Отпуск!$B$1:$K$20; "<" & Расписание!B$1); 20)+1+ ОСТАТ(СТРОКА()+1;20)-3
 
Цитата
Максим Исаев:  отпуска известны на 20 лет вперед
Почему заполнено только по 27 год?  )
в C2 :
=ЕСЛИ(ИЛИ($B2="";СЧЁТЕСЛИ(Отпуск!$B$1:$K$74;C$1));"";ОСТАТ(ПРОСМОТР(21;$B2:B2);20)+1)
 
Цитата
написал:
Почему заполнено только по 27 год?  )
Файл сократил до необходимого размера по условиям форума.
 
Цитата
написал:
я бы наверное лучше один раз заполнил и заменил на значения
спасибо, как вариант, возможно...
 
Цитата
написал:
=ОСТАТ(B$1-9-СЧЁТЕСЛИ(Отпуск!$B$1:$K$20; "<" & Расписание!B$1); 20)+1+ ОСТАТ(СТРОКА()+1;20)-3
Спасибо, короткая формула!
Изменено: Максим Исаев - 26.04.2024 21:56:10
 
Цитата
написал:
Формулу 1 использовать в тех ячейка которые идут после отпуска
Спасибо за формулу, но такой способ довольно затруднителен...
 
Цитата
написал:
А условным форматированием поправить цвет шрифта
Заливка ячеек слишком яркая?
 
Максим Исаев, А эта череда постов зачем? В одном сообщении не было возможности ответить?
По вопросам из тем форума, личку не читаю.
 
Цитата
написал:
=ОСТАТ(B$1-9-СЧЁТЕСЛИ(Отпуск!$B$1:$K$20; "<" & Расписание!B$1); 20)+1+ ОСТАТ(СТРОКА()+1;20)-3
Что-то пошло не так и появились новые участки, файл прилагается.
Наверное я что-то неправильно сделал...
 
БМВ, простите
 
Павел \Ʌ/, Спасибо, рабочая формула.
Простыня получилась долгая.
А как можно сделать расписание на месяц, но при этом не терять порядка дежурства?
 
Цитата
Простыня получилась долгая
Ну столбцов должно хватить еще лет на двадцать )
Цитата
А как можно сделать расписание на месяц, но при этом не терять порядка дежурства?
см файл
 
Павел \Ʌ/, низкий поклон за помощь!
Удивительно, но всё работает!

К сожалению, январь 2024 года начинается со 2-го числа, в остальных годах, как и положено - с 1-го.
Можно ли исправить?
А впрочем: дата уже прошла, да и расчёт правильный на 2-е января.
Чуточку поправил, теперь и январь с 1-го числа начинается.
Изменено: Максим Исаев - 28.04.2024 15:11:08
 
Цитата
К сожалению, январь 2024 года начинается со 2-го числа, в остальных годах, как и положено - с 1-го.
Можно ли исправить?
стартовая колонка, случайно, не за 1.01.24 ? Т.е. я нарочно добавил этот сдвиг в стартовом месяце. Если не надо, то как разобраться с тем что в ячейке C3 надеюсь догадаетесь  
Страницы: 1
Наверх