Формула Excel: Если время больше 23:30, верните 11:30 той же даты

#excel #excel-formula

#excel #excel-формула

Вопрос:

У меня есть таблица Excel с информацией ниже:

E: Дата и время в формате ММ / ДД / ГГ ЧЧ: ММ
H: количество часов
I: Ожидаемое время завершения в формате ММ / ДД / ГГ ЧЧ: ММ

I равно E H и пропускает выходные и праздничные дни, формула равна

 =IFERROR(WORKDAY(E5,H5/24,Holidays!$A$2:$A$37) MOD(E5,1) MOD(H5,24)/24,"")
  

Но если результат возвращает время в пределах 00:00 — 09:00, я хотел бы изменить время на 11:30, в противном случае оставьте его как есть

Например:

Если результатом будет 05.03.19 03:52, то измените время на 05.03.19 11:30

Если результатом будет 05.03.19 22:00, то оставьте время равным 05.03.19 22:00

Время останется равным 11: 30 независимо от исходного времени

Я пробовал эту формулу, но она не работает:

 =IF(WORKDAY(E5,H5/24,Holidays!$A$2:$A$37) MOD(E5,1) MOD(H5,24)/24>WORKDAY(E5,H5/24,Holidays!$A$2:$A$37) MOD(E5,1) TIME(23,30,0),WORKDAY(E5,H5/24,Holidays!$A$2:$A$37) MOD(E5,1)amp;TIME(11,30,0),WORKDAY(E5,H5/24,Holidays!$A$2:$A$37) MOD(E5,1) MOD(H5,24)/24)
  

Кто-нибудь может мне помочь в этом? Спасибо за вашу помощь!

Ответ №1:

Попробуйте сократить ячейку datetime до полуночи этой даты, а затем добавьте 11,5 часов:

 =IF(AND(HOUR(A1) >= 23, MINUTE(A1) > 30),
    TRUNC(A1)   TIME(11,30,00), A1)
  

Я протестировал эту формулу, и, похоже, она работает. Возможно, вам придется поиграть с форматированием ячеек исходных данных. Маска формата 3/14/12 1:30 PM , похоже, здесь работает хорошо.

Ответ №2:

Увеличьте время до 11:30:00, если оно меньше этого. Оставьте это в покое, если время больше 11:30:00.

 =IFERROR(WORKDAY(E5,H5/24,Holidays!$A$2:$A$37) MAX(TIME(11, 30, 0), MOD(E5,1) MOD(H5,24)/24),"")