Здравствуйте. Прошу разобраться в формуле расчета рабочих часов Никак не могу написать формулу для подсчета часов с переходом полуночи. Ситуация: рабочий день начинается в любое время, например, 16:00 1 марта, а заканчивается в 5:00 2 марта. До 4 утра считается по обычной ставке, а после 4 утра по повышенной ставке(например, 300р в час, а после 400р в час). Проблема в формуле подсчета времени до 4 утра. Пробовал разные формулы, но все они считают только если начало работы начинается после полуночи, например, в час ночи. Пример формул которые я использовал: =ЕСЛИ(F86<ВРЕМЯ(4;0;0);ЕСЛИ(G86<ВРЕМЯ(4;0;0);(G86-F86)*24;(ВРЕМЯ(4;0;0)-F86)*24);0) =ЕСЛИ(F86<ВРЕМЯ(4;0;0);МИН(ВРЕМЯ(4;0;0)-F86;G86-F86);0)*24\ =ЕСЛИ(F86<ВРЕМЯ(4;0;0);ЕСЛИ(G86<ВРЕМЯ(4;0;0);(G86-F86)*24;(ВРЕМЯ(4;0;0)-F86)*24);0) =ЕСЛИ(F86<ВРЕМЯ(4;0;0);(МИН(ВРЕМЯ(4;0;0);G86)-МАКС(F86;ВРЕМЯ(0;0;0)))*24;0) =ЕСЛИ(И(F86<ВРЕМЯ(4;0;0);G86>ВРЕМЯ(4;0;0));(МИН(G86;ВРЕМЯ(4;0;0))-МАКС(F86;ВРЕМЯ(0;0;0)))*24;0) Где F86 - начало работы, G86 - конец работы
Также раньше использовал формулу: =ЕСЛИ(F86>0;(ВРЕМЯ(4;0;0)<F86)+ВРЕМЯ(4;0;0)-F86;ЕСЛИ(F86=0;"0")), но при завершении работы раньше 4 утра, формула не работает. Нужно изменять ВРЕМЯ на те значения времени в котором закончилась работа, например в 2 часа ночи
Формула повышенной ставки не работает: =ЕСЛИ(F86>ВРЕМЯ(4;0;0);(G86-ВРЕМЯ(4;0;0))*24;0) Показывает 0:00, но при расчете суммы выдает верно(например 1 час переработки 400р) НО при расчете, если работа заканчивается в 19:00 то сумма оплаты показывает 6600р, хотя долен быть 0р. Прикрепляю пример таблицы ниже. образец.xlsx
FuadM69, только сегодня на другом ресурсе эта тема поднималась, но там есть файл, и диапазон дат аж в несколько лет был. Например легко решается с помощью уже давно написанной UDF, я когда-то минуты в сменах высчитывал. Чуть подправил чтоб считались минуты именно только ночные, с 22:00 до 6:00. По сути это то что Вам нужно. Если нужна UDF... P.S. Посмотрел появившийся файл - тут другая задача, то готовое не вполне годится...
Смену указал 4-16, можно изменять в аргументах. Результат в минутах, поэтому перевожу в время чтоб показать форматом. Но можно показывать в целых минутах, или часах в числовом виде. В первой строе вывел как там выглядят формулы в ячейках.
FuadM69 написал: можно получить таблицу на фото в ексель формате?
У меня код в надстройке был, советую тоже так сделать, но затем придётся в файле формулу перезабить. Файл разблокировать в свойствах файла, макросы разрешить. P.S. Кстати время с датой вписывать не требуется, но можно если надо. Но +1 если время уходит за полночь в аргументе добавляйте.
Заменил файл и код, тут пока все результат корректные. Аргументов на один меньше, описание в коде, как применять понятно в файле. Результат выводится как и ранее в штуках минут, начало и конец смен тоже указывать аналогично в минутах от начала суток.
FuadM69: До 4 утра считается по обычной ставке, а после 4 утра по повышенной ставке
"С/у": =(МАКС((D4<C4)+D4-1/6;1)-1)*24 "База": =(МИН((D4<C4)+D4-1/6;1)-C4+1/6)*24 или исходя из посчитанного "Всего ": =E4*24-G4 ...формат "Общий" и предполагается, что трудоголиков отработавших более суток нет )