在Excel公式中,如何将日期增加1但具有基于条件的固定时间

时间:2016-04-04 11:48:00

标签: excel-formula

让我们说,我有一个单元格A1,日期/时间值为15/3/2016 13:00。 使用公式,我想在具有以下条件的另一个单元格中设置日期:

  • IF A1的时间大于13:00小时,A1 + 1(下一天)不等于周末(周六和周日)或假日, THEN < / strong>将B1设置为16/3/2016 09:00 ELSE 将B1设置为下一个工作日,时间为09:00。

1 个答案:

答案 0 :(得分:2)

你有五个组成部分。

检查时间:

TIME(HOUR(A1),MINUTE(A1), SECOND(A1)) > TIME(HOUR(0.54166666),MINUTE(0), SECOND(0)

每周检查明天:

TEXT(DAY(A1),"dddd")<>"Saturday",TEXT(DAY(A1),"dddd")<>"Sunday")

检查明天是否是假期:

iserror(vlookup(DATE(YEAR(A1+1),MONTH(A1+1),DAY(A1+1)),c1:c5,1,false))

明天输出+1上午9点

DATE(YEAR(A1+1),MONTH(A1+1),DAY(A1+1))+0.375

下午9点输出下一个工作日

WORKDAY(A1,1,C1:C5)+0.375

这需要一个假期清单。对于我的样本,我把一些放在C1:C5中,但你可以把东西放在任何地方。

完成IF语句示例:

=IF(AND(TIME(HOUR(A1),MINUTE(A1), SECOND(A1)) > TIME(HOUR(0.54166666),MINUTE(0), SECOND(0)),AND(ISERROR(VLOOKUP(DATE(YEAR(A1+1),MONTH(A1+1),DAY(A1+1)),C1:C5,1,FALSE)),TEXT(DAY(A1),"dddd")<>"Saturday",TEXT(DAY(A1),"dddd")<>"Sunday")),DATE(YEAR(A1+1),MONTH(A1+1),DAY(A1+1))+0.375,WORKDAY(A1,1,C1:C5)+0.375)

希望这有帮助