Excel带周末/假日的时间序列日期递增公式修复需求
Excel时间序列日期递增公式修正方案
核心逻辑梳理
针对需求实现:
- 基于起始日期H5生成带日期的时间序列
- 结束时间为19:00时,下一行自动跳至下一个有效工作日的09:00
- 跳过标记为"HS"的周末(周六/周日)和"TT"的假日
公式实现
1. N列(带日期的开始时间)
- 第一行(N6):直接用起始日期加初始开始时间
=H5+L6 - 后续行(N7至N13,下拉填充):判断上一行结束时间是否为19:00,自动计算下一个有效工作日的开始时间
公式说明:=IF(O6=INT(O6)+TIME(19,0,0), WORKDAY.INTL(INT(O6),1,"0000011",FILTER(T3:AR3,T2:AR2="TT"))+TIME(9,0,0), INT(O6)+L7)O6=INT(O6)+TIME(19,0,0):判断上一行结束时间是否为当天19:00WORKDAY.INTL(...):计算上一行日期之后的第1个有效工作日,其中:"0000011":设置周六、周日为休息日(对应"HS"标记)FILTER(T3:AR3,T2:AR2="TT"):筛选出标记为"TT"的假日并排除
- 非19:00结束的情况,直接沿用前一行的日期加当前行的开始时间
2. O列(带日期的结束时间)
- 全列(O6至O13,下拉填充):用对应行的开始日期加结束时间
公式说明:提取N列的日期部分(=INT(N6)+M6INT(N6)),加上当前行的结束时间M6,确保日期与开始时间一致
格式设置
将N、O列单元格格式设置为日期时间格式(例如yyyy-mm-dd hh:mm:ss),避免只显示日期或时间部分
内容的提问来源于stack exchange,提问作者Yücel Emir
相关产品推荐
相关产品推荐

