Страницы: 1
RSS
Расчет даты и времени окончания работ с учетом праздничных
 
Добрый вечер, уважаемые форумчане!
Огромная просьба помочь знающих людей, не могу своими силами побороть проблему.
Необходимо к ячейке "Начало обработки" прибавить ячейку "Время на партию" и получить дату и время окончания работ, исключая выходные и праздничные дни (которые будут списком на второй странице документа).
Сейчас в документе формула по умолчанию учитывает выходные, но праздничные никак не учесть, да и субботы к примеру бывают рабочие. Попытки заменить команду ДЕНЬНЕД на другие, где можно учесть праздники, к сожалению ни к чему не привели. В формуле есть время начала и окончания рабочего дня, а также обеда, это тоже важно и должно учитываться.
Заранее благодарю за помощь!
Изменено: Катюша - 25.04.2022 21:25:41
 
Вопрос актуален
 
а какая разница выходной и праздничный день? какой смыл их различать?
слова, понятно, разные но с точки зрения вашей задачи и то и то - не рабочие дни
вот вкладку так и назвали бы рабочие, не рабочие
и назвали колонки и заполнили бы соотв. датами
для образца и понимания формул достаточно какое-то воскресенье или субботу обозначить рабочим днем, а каккой-то понедельник (пятницу) выходным
и рабочий день у вас точно 8.5 часов а не 8 как у всех?
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Катюша,  Похожая тема.
Кросс
 
Цитата
написал:
а какая разница выходной и праздничный день? какой смыл их различать?
слова, понятно, разные но с точки зрения вашей задачи и то и то - не рабочие дни
вот вкладку так и назвали бы рабочие, не рабочие
и назвали колонки и заполнили бы соотв. датами
для образца и понимания формул достаточно какое-то воскресенье или субботу обозначить рабочим днем, а каккой-то понедельник (пятницу) выходным
и рабочий день у вас точно 8.5 часов а не 8 как у всех?
Это видимо в процессе попыток исправить формулу, где-то случайно произошла опечатка со временем работы, спасибо за заметку).  :)
На самом деле разницы нет выходной или праздничный, лишь бы сделать как-то чтобы оно на эти ячейки ссылалось и исключало эти даты, а то получается сейчас по команде ДЕНЬНЕД у него суббота и воскресенье по умолчанию, и ничего с этим не сделать.
 
Цитата
написал:
Катюша,   Похожая тема.
Кросс
Спасибо большое за ответ!
Макрос вшит в мою таблицу, но почему-то нет учета праздничных дней. Были подозрения, что было что-то сделано не так. Но при введении данных в исходную таблицу, оказалось что не учитывает и там.
23.05.2022 в списке праздников, но расчет все равно считает что рабочий день.
Изменено: Катюша - 27.04.2022 11:54:44
 
Катюша, Поправил.
Изменено: skais675 - 27.04.2022 15:04:17
 
Цитата
написал:
Катюша, Поправил.
Спасибо Вам огромное за помощь, в проблеме с которой мучаюсь уже как неделю!
Изменено: Катюша - 27.04.2022 17:26:08
 
Цитата
написал:
Катюша, Поправил.
Выяснилось, что макросы из эксель не работают в гугл таблицах, что оказалось очень неприятной новостью для меня.  :(
Подскажите пожалуйста, эта задача не реализуема без макросов? Только стандартными функциями.
 
реализуема
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
реализуема
Поможете реализовать? В начале в теме приложен документ, где рабочая формула, но там нет учёта праздничных. Возможно её можно как-то доработать.
Можно в принципе за символическую сумму в виде благодарности).  
 
проверяйте) я в диспетчере имен понаписывал всякого...
формула массива:
Код
=ИНДЕКС(Дат;ПОИСКПОЗ(ПДн;МУМНОЖ(--(Дат>=ТРАНСП(Дат)); ЕСЛИ((ДЕНЬНЕД(Дат;2)<6)*(СЧЁТЕСЛИ(ДнВ;Дат)=0)+СЧЁТЕСЛИ(ДнР;Дат);1;0));))+Рд1+ЕСЛИ(Под>7/24;Под-1/4;Под)+ПоО

где
Дат - диапазон дат, на который может попасть окончание работ
ДнВ - дни выходные (записаны на листе РабочиеНеРабочие
ДнР - дни рабочие, там же
Рд1 - ссылка на ячейку с началом рабочего дня (у вас 9:00)
Под - сколько часов нужно будет отработать в последний день
ПоО - если в последний день нужно работать дольше чем до обеда (до 12:30), то нужно еще час накинуть
Изменено: Ігор Гончаренко - 02.05.2022 16:42:54
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
проверяйте)
Спасибо огромное за ответ!
После тестирования удалось выяснить следующее:
1. Если сделать так, что время на партию 7 часов, то окончание обработки в 17:00 того же дня, вроде все верно. Но если сделать время на партию 7:20, то почему-то идет перескакивание на следующий день и окончание в 11:20. Получается, что окончание рабочего дня будто бы в 17:00, а начало следующего в 11:00.
2. Если сделать время на партию 8 часов, формула выдает н/д.
3. Выходные указанные на 2 листе пропускает, все хорошо. Но непонятно до конца, действительно надо ли указывать рабочие дни там же? Вроде не указано, но все равно работает корректно и считает их как рабочие по умолчанию.  :)  
Изменено: Катюша - 04.05.2022 11:11:40
 
формула по умолчанию учитывает пн.-пт. как рабочие дни и сб.,вс. - выходные
соотв.
если какая-то суббота, воскресенье стала рабочим днем ее нужно внести на лист РабочиеНеРабочие в свою колонку
если на какой-то рабочий день выпал государственный праздник - этот день нужно внести в список выходных
и
1. для тестирования пишите сюда:
1.1. начало обработки: дата время (предполагается любая дата в рабочий день с 9:00 до 18:00, допускается начала в обед
1.2. время на изготовление часов, минут - любое время в формате чч:мм, это может быть и 2 часа и 102 часа
1.3. вычисленное вами дата, время окончания процесса
1.4. если добавили что-то на листе РабочиеНеРабочие - пишите об этом

2. я
2.1. соглашаюсь (или нет) с вычисленным вами моментом окончания обработки (понятно, что обработка должна закончится в рабочий день где-то между 9:00 и 18:00, но не в обед)
2.2. если у меня еще останется сколько-нибудь интереса к задаче, выясню причину ошибки в расчетах
2.3. выложу файл с исправлениями
-------------------------
на самом деле там очень много всего наворочено, допускаю наличие ошибок(((
Изменено: Ігор Гончаренко - 04.05.2022 13:11:49
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
на самом деле там очень много всего наворочено, допускаю наличие ошибок(((
Добрый день.
По выходным и праздникам понятно теперь, спасибо.

Удалось еще немного потестировать, пишу по Вашей форме.

1. Начало обработки - 20.05.2022 9:00
2. Время на изготовление - 39:20 ч:мин и 39:40 ч:мин
3. Время окончания процесса - должно быть 26.05.2022 17:20 и 26.05.2022 17:40, пишет Н/Д.
4. Рабочие/нерабочие не вносились.

1. Начало обработки - 20.05.2022 9:00
2. Время на изготовление - 46:40 ч:мин
3. Время окончания процесса - должно быть 27.05.2022 17:00, пишет Н/Д.
4. Рабочие/нерабочие не вносились.
Это время на изготовление и более, все пишет Н/Д.
 
см. вложение
это уже можно серьезнее потестировать, на разных вариантах, в т.ч. с внесенными рабочими и выходными)
Изменено: Ігор Гончаренко - 06.05.2022 11:49:02
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
см. вложение
это уже можно серьезнее потестировать, на разных вариантах, в т.ч. с внесенными рабочими и выходными)
Спасибо большое за ответ!

После еще нескольких тестов нашлось следующее.

1. Начало обработки - 01.05.2022 9:00
2. Время на изготовление - 1 час
3. Время окончания процесса - должно быть 01.05.2022 10:00, пишет 01.05.2022 11:00
4. Выходные и рабочие не указывались.

1. Начало обработки - 01.05.2022 9:00
2. Время на изготовление - 240 часов или 256 часов
3. Время окончания процесса - должно быть 31.05.2022 9:00 или 02.05.2022 9:00, пишет почему-то 18:00. При этом если 239, 241, 255 или 257 часов все верно.
4. Рабочими указаны все дни в мае.

1. Начало обработки - 02.05.2022 9:00
2. Время на изготовление - 16 часов
3. Время окончания процесса - должно быть 05.05.2022 9:00, пишет 04.05.2022 9:00
4. Выходной 03.05.2022. Если продлевать выходные дни в мае после 03.05, ситуация та же, но на указании выходного 06.05.2022 начинает писать Н/Д.

1. Начало обработки - 02.05.2022 9:00. Окончание рабочего дня 22:00, вместо 18:00.
2. Время на изготовление - 60 часов
3. Время окончания процесса - должно быть 09.05.2022 9:00, пишет 11.05.2022 9:00
4. Выходные и рабочие не указывались.


И еще почему-то не реагирует на изменение времени обеда, либо увеличение/уменьшение времени обеда.
 
вроде все исправил)
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
вроде все исправил)
Добрый день). Нашлось еще пару штук).

1. Начало обработки - 02.05.2022 9:00. Окончание рабочего дня 18:00.
2. Время на изготовление - 16 часов
3. Время окончания процесса - должно быть 04.05.2022 9:00, пишет 03.05.2022 2:00.  8-0
4. Выходные и рабочие не указывались.
P.S. Если поставить 03.05.2022 выходным ничего не изменилось.

Это в принципе было в прошлый раз, не ушло Н/Д.
1. Начало обработки - 02.05.2022 9:00. Окончание рабочего дня 18:00.
2. Время на изготовление - 17 часов
3. Время окончания процесса - должно быть 10.05.2022 10:00, пишет Н/Д.
4. Выходной 03.05.2022-06.05.2022. Если продлевать выходные дни дальше тоже самое.

Тоже в принципе прошлая проблема.
1. Начало обработки - 01.05.2022 9:00. Окончание рабочего дня 18:00.
2. Время на изготовление - 256 часов
3. Время окончания процесса - должно быть 02.06.2022 9:00, пишет 01.06.2022 2:00. При этом если 255 или 257 часов все верно.
4. Рабочими указаны все дни в мае.

Пересматриваю сейчас свои прошлые комментарии и нахожу опечатки, может быть где-то дезинформирую случайно). Сейчас вроде все без ошибок.

P.S. Изменение обеда и окончания рабочего дня вроде бы вообще супер работает!  8)  
Изменено: Катюша - 11.05.2022 21:57:37
 
исправил)
допускается момент старта писать в обеденное время, не допускается начинать работу в выходные и за пределами рабочего дня
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
исправил)
допускается момент старта писать в обеденное время, не допускается начинать работу в выходные и за пределами рабочего дня
Добрый день! Вроде бы последнее, если из того что проверялось ранее что-нибудь не слетело).

То же место, на день почему-то смещение.
1. Начало обработки - 02.05.2022 9:00. Окончание рабочего дня 18:00.
2. Время на изготовление - 17 часов
3. Время окончания процесса - должно быть 10.05.2022 10:00, пишет 09.05.2022 10:00.
4. Выходной 03.05.2022-06.05.2022. Если добавить выходным 09.05.2022 пишет Н/Д.
 
добавил чуть больше дней на праздники
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
добавил чуть больше дней на праздники
Н/Д ушло, все хорошо, а смещение на день осталось.

1. Начало обработки - 02.05.2022 9:00. Окончание рабочего дня 18:00.
2. Время на изготовление - 17 часов
3. Время окончания процесса - должно быть 10.05.2022 10:00, пишет 09.05.2022 10:00.
4. Выходной 03.05.2022-06.05.2022.
 
а если это
03.05.2022
04.05.2022
05.05.2022
06.05.2022
написать в А2, А3, А4, А5?
выходные, рабочие дни заполняются начиная с строки 2 и подряд, без пропусков пустых ячеек, сколько нужно
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Цитата
написал:
а если это
03.05.2022
04.05.2022
05.05.2022
06.05.2022
написать в А2, А3, А4, А5?
выходные, рабочие дни заполняются начиная с строки 2 и подряд, без пропусков пустых ячеек, сколько нужно
А все, понятно теперь в чем дело). Вот это уже очень крутой инструмент.  8)
Сейчас дам коллеге еще потестить на свежую голову, ибо у меня фантазия кончилась).
 
Цитата
написал:
а если это
03.05.2022
04.05.2022
05.05.2022
06.05.2022
написать в А2, А3, А4, А5?
выходные, рабочие дни заполняются начиная с строки 2 и подряд, без пропусков пустых ячеек, сколько нужно
Добрый день.
Потестили, вроде бы все хорошо. Зайдите на почту, указанную в Вашем профиле.
Страницы: 1
Наверх