Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Как посчитать время простоя в часах с учетом только рабочего времения
 
Добрый день подскажите как посчитать время простоя в часах с учетом только рабочего времения
Например есть
ДатаОтказа :05.03.2015 11:43
ДатаПочинки: 07.03.2015 14:38
Общее время простоя 44:03:00
Как посчитать время простоя с учетом ТОЛЬКО рабочего времени с 08:00 до 23:00?
 
Kamatozio, в файлике приложите посмотрим
Лень двигатель прогресса, доказано!!!
 
можно с помощью пользовательской функции:
Код
Public Function Prostoi(d1 As Date, d2 As Date)
    'd1 - дата отказа
    'd2 - дата починки
    If Int(d1) = Int(d2) Then
        Prostoi = WorksheetFunction.Min(23 / 24, d2 - Int(d2)) - WorksheetFunction.Max(8 / 24, d1 - Int(d1))
    Else
        If d1 - Int(d1) >= 8 / 24 And d1 - Int(d1) < 23 / 24 Then
            Prostoi = 23 / 24 - (d1 - Int(d1))
        End If
        If d2 - Int(d2) >= 8 / 24 And d2 - Int(d2) < 23 / 24 Then
            Prostoi = Prostoi + ((d2 - Int(d2)) - 8 / 24)
        End If
        Prostoi = Prostoi + (Int(d2) - Int(d1) - 1) * (23 / 24 - 8 / 24)
    End If
End Function


только по моему в вашем примере ошибка - время простоя для представленных дат должно быть другое
 
похожая тема
http://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=64482&TITLE_SEO=64482-podschet-vremeni
F1 творит чудеса
 
да, и это без учета выходных и праздников
 
файл
 
функция в вашем файле. немного подкорректированная
 
Цитата
webley написал: да, и это без учета выходных и праздников
Так и нужно, объекты работают без выходных и в праздничные дни.
Цитата
webley написал: функция в вашем файле. немного подкорректированная
Большое спасибо. Попробовал поиграться с временем для проверки. Если устанавливаю даты поломки\починки 11.04.2015  7:30:00 \ 12.04.2015  6:30:00.
Общее время простоя 24 часа,  а время простоя с учетом рабочего времени 0,  а вроде как должно быть 15 часов
 
=МАКС(МИН(ОСТАТ(G2;1);"23:00");"8:00")-МАКС(МИН(ОСТАТ(F2;1);"23:00");"8:00")+ОТБР(G2)-ОТБР(F2)-(ОТБР(G2)-ОТБР(F2))*9/24
 
Kamatozio, да, пожалуй этот момент я не учел. Вот так правильно
Изменено: webley - 13 Апр 2015 10:13:49 (обработал ситуацию, когда ремонт был после 23:00)
Страницы: 1
Читают тему (гостей: 1)