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

在Google Sheets(或Excel)中计算两个时间范围的重叠时长

计算任务时长与跨天时段的重叠时长优化思路

我需要计算一项任务的运行时长中,落在特定时间范围内的部分(因一天中不同时段费率不同)。

示例1

任务运行时间:
开始(单元格A4):20:00
结束(单元格B4):01:00

目标时间范围:
开始(单元格C4):23:00
结束(单元格D4):06:00

结果:
重叠时长(单元格E4):02:00

我曾提出一个多数情况下有效的公式:

E4 = max(Max(0, Min(B4+(A4>B4), D4+(C4>D4)) - Max(A4, C4)),0)

但该公式未覆盖任务开始时间早于目标范围结束时间的场景,例如:

任务运行时间:
开始(单元格A4):05:00
结束(单元格B4):13:00

目标时间范围:
开始(单元格C4):23:00
结束(单元格D4):06:00

预期结果:
重叠时长(单元格E4):01:00(实际计算为0:00)

我给出了可覆盖该场景的调整公式:

E4 = (MAX(0,MIN(D4+(C4>D4),B4+(A4>B4))-MAX(C4,A4))+MAX(0,(MIN(D4,B4+(A4>B4))-A4)*(C4>D4))+MAX(0,MIN(D4+(C4>D4),B4+0)-C4)*(A4>B4))

但我认为应该有更优雅的方案处理跨天循环时间范围,求相关思路?

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 10:42:35