You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在排除周末/节假日时给日期时间戳添加小数天数?

解决WORKDAY函数添加带小数的工作日时的时间丢失问题

问题原因

  • WORKDAY函数的第二个参数仅接受整数,会自动截断小数部分(比如1.75会被当成1处理),所以你只加了1个工作日。
  • WORKDAY默认返回的是日期(0点整),会直接丢失原时间戳的小时、分钟信息。

正确公式

要同时保留时间部分并正确计算带小数的工作日,需要拆分整数工作日和小数时间部分分别计算:

=WORKDAY(A1, INT(B1)) + MOD(A1, 1) + MOD(B1, 1)

公式拆解:

  • INT(B1):提取B1中的整数工作日(1.75→1),用WORKDAY计算加1个工作日后的基础日期。
  • MOD(A1, 1):提取原时间戳的时间部分(6/17/25 1:19 PM→13:19,即0.554861天)。
  • MOD(B1, 1):提取B1中的小数时间部分(1.75→0.75天=18小时)。

验证你的例子

  • A1:6/17/25 1:19 PM(周二,工作日)
  • WORKDAY(A1,1)得到6/18/25 0:00
  • 加上原时间13:19,再加18小时:6/18/25 13:19 + 18h = 6/19/25 7:19 AM,完全符合你的预期。

扩展:排除节假日

如果需要同时排除自定义节假日,改用WORKDAY.INTL并添加节假日区域参数:

=WORKDAY.INTL(A1, INT(B1), 1, $C$1:$C$10) + MOD(A1, 1) + MOD(B1, 1)
  • 1代表周末为周六、周日(可根据需求调整其他数字自定义周末规则)
  • $C$1:$C$10是存放节假日日期的单元格区域。

注意事项

  • 确保单元格格式设置为日期时间(比如yyyy/mm/dd hh:mm AM/PM),避免只显示日期或时间。
  • 如果原日期是周末,WORKDAY会自动跳转到下一个工作日,此时时间部分仍会正常叠加。

内容的提问来源于stack exchange,提问作者user3753404

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 20:52:09