EXCEL IF 函数逻辑测试 date/time 格式

EXCEL IF function logical test with date/time formats

我一直在为一个改善关键绩效指标管理的项目工作,但遇到了瓶颈。

项目:评估流程(仓库和质量)是否符合截止日期。当收到订单时,date/time 会被记录下来,并且根据 date/time,截止日期会有所不同。

为了便于解释,让 B = 收到订单 date/time(格式 DD.MM.YYYY HH.MM),X = 截止日期(相同格式)

条件: 1. 如果 B 在上午 5 点到下午 1 点之间,则 X = 下午 5 点,否则 X = 第二天上午 9 点 2. 如果 B 在早上 5 点到周一早上 5 点之间,那么 X = 周一上午 9 点。

我已经设法找出条件 1,但我不知道如何将条件 2 合并到我的公式中。

当前公式

=IF(AND(B>DATE(YEAR(B),MONTH(B),DAY(B))+5/24,B<=(DATE(YEAR(B),MONTH(B),DAY(B))+13/24)),DATE(YEAR(B),MONTH(B),DAY(B))+17/24,DATE(YEAR(B),MONTH(B),DAY(B))+24/24+9/24)

我希望社区能给我一些关于如何解决这个谜题的见解,因为我一直很幸运在这里找到解决方案。

我的回答:

=IF(OR((AND(WEEKDAY(B6)=7,TIME(HOUR(B6),MINUTE(B6),SECOND(B6))>5/24)),WEEKDAY(B6)=1 ,(AND(工作日(B6)=2,时间(小时(B6),分钟(B6),秒(B6))<5/24))),工作日(B6-1,1)+9/24,(如果(和(B6>日期(年(B6),月(B6),日(B6))+5/24,B6<=(日期(年(B6),月(B6),日(B6))+ 13/24)),日期(年(B6),月(B6),日(B6))+17/24,(如果(B6<=(日期(年(B6),月(B6),日(B6 ))+5/24),日期(年(B6),月(B6),日(B6))+9/24,日期(年(B6),月(B6),日(B6))+24/ 24+9/24)))))

它很长,但我会尽力解释。 1. 第一部分为周末部分:IF(OR((AND(WEEKDAY(B6)=7,TIME(HOUR(B6),MINUTE(B6),SECOND(B6))>5/24)),WEEKDAY( B6)=1,(AND(工作日(B6)=2,时间(小时(B6),分钟(B6),秒(B6))<5/24))),工作日(B6-1,1)+9 /24

如果星期六>上午 5 点或星期日或星期一<上午 5 点,如果为真则值 = 下一个工作日上午 9 点(星期一)

如果为假 = (IF(AND(B6>DATE(YEAR(B6),MONTH(B6),DAY(B6))+5/24,B6<=(DATE(YEAR(B6),MONTH (B6),日(B6))+13/24),日期(年(B6),月(B6),日(B6))+17/24,(如果(B6<=(日期(年(B6) ),月(B6),日(B6))+5/24),日期(年(B6),月(B6),日(B6))+9/24,日期(年(B6),月(B6) ),天(B6))+24/24+9/24)))))