Я пытаюсь рассчитать время обработки от полученного времени до завершенного времени, и мне нужно исключить часы с 23:00 до 8:00, потому что это нерабочие часы.  Я попытался поиграть с функцией NETWORKDAYS но не смог разобраться.

Категории являются:

  • Получено
  • Конец обработки (время завершено)
  • Время начала (8:00 утра)
  • Время окончания (11:00 вечера)

Это то, что я пробовал до сих пор, но выдает ошибку:

=(NETWORKDAYS(Received,Processing_End)-1) *
 (End_time-Start_ti‌​me) +
 IF(NETWORKDAYS(P‌​rocessing_End, Proces‌​sing_End), 
    MEDIAN(MOD‌​(Processing_End,1), E‌​nd_time, Start_time),‌
    ​End_time) - 
 MEDIAN(NET‌​WORKDAYS(Received,Re‌​ceived) * 
 MOD(Received‌​,1), End_time, Start_t‌​ime)

Как я могу это сделать?

1 ответ1

0

Было бы полезно, если бы вы предоставили некоторые образцы данных.

Я предполагаю, что полученное время и время завершения никогда не находятся между 11 вечера и 8 утра, потому что магазин закрыт, но он открыт семь дней в неделю (365 дней в году), поэтому нам не нужно беспокоиться о выходных.

Один из способов взглянуть на проблему состоит в том, что если задание выполнено в то же время, когда оно получено, но спустя n дней (т.е. 24 × n часов), то простое вычитание B2-A2 даст 24 × n часов. , когда вы хотите результат 15 × n часов, потому что магазин открыт 15 часов каждый день.  Поэтому я думаю, что решение состоит в том, чтобы сделать простое вычитание, а затем вычесть 9 часов за каждый день работы в системе.

Эта формула должна сделать это:

=$B2-$A2 - (INT($B2)-INT($A2))*(1+TIME(8,0,0)-TIME(23,0,0))

где я использую INT($B2) и INT($A2) чтобы получить дневные части значений даты / времени, и грязное выражение (1+TIME(8,0,0)-TIME(23,0,0)) 9 часов (завтра 8 утра минус 11 вечера).

Вот скриншот:

      скриншот таблицы

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .