Excel日期填充公式求助:基于时间与工作日规则生成B1日期
Excel 日期时间规则公式解决方案
公式写法
直接在B1单元格输入以下公式:
=IF(TIMEVALUE(A1)>TIME(17,0,0),INT(A1)+1+TIME(9,0,0),IF(WEEKDAY(A1,2)>=5,WORKDAY(A1,1)+MOD(A1,1),A1))
公式逻辑拆解
第一层级判断(时间晚于17:00):
TIMEVALUE(A1)>TIME(17,0,0):提取A1的纯时间部分,判断是否超过17:00- 满足时返回
INT(A1)+1+TIME(9,0,0):取A1的日期整数部分加1天,再拼接09:00的固定时间
第二层级判断(周五/周六/周日且时间不晚于17:00):
WEEKDAY(A1,2)>=5:以周一为一周第1天的规则,判断日期是否为周五(5)、周六(6)、周日(7)- 满足时返回
WORKDAY(A1,1)+MOD(A1,1):WORKDAY(A1,1)获取下一个工作日的日期,MOD(A1,1)提取A1的原始时间,两者合并保留原时间
默认情况:若既不满足时间条件,也不属于周五/周六/周日,直接返回A1的原始日期时间
测试示例
- 当A1为
24/05/2023 13:45(周三,时间≤17:00),B1返回原日期时间24/05/2023 13:45 - 当A1为
26/05/2023 18:00(周五,时间>17:00),B1返回27/05/2023 09:00 - 当A1为
27/05/2023 14:00(周六,时间≤17:00),B1返回下一个工作日加原时间29/05/2023 14:00
内容的提问来源于stack exchange,提问作者Venkatesh Sathyanarayan
相关产品推荐
相关产品推荐

