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

如何在Google Sheets中检测多个时间范围是否存在重叠

谷歌表格时间区间重叠判断解决方案

你当前公式里IF(C$29:C$42<D$29:D$42, True,的逻辑只能验证单条时间范围的合法性(即结束时间晚于开始时间),完全没有涉及多区间重叠的判断逻辑,所以不管区间有没有重叠,只要单条时间范围合法就会返回True,这是结果不符合预期的核心原因。

判断两个时间区间存在重叠的充要条件为:MAX(开始时间A, 开始时间B) < MIN(结束时间A, 结束时间B),返回True即为存在重叠,你可以根据自己的使用场景选择以下实现方案:

场景1:批量检查所有已录入的时间区间里是否存在任意两组重叠

直接在空白单元格输入以下数组公式,按回车即可直接返回校验结果(True=存在重叠,False=无重叠):

=OR(BYROW(C29:C42, LAMBDA(s, BYROW(D29:D42, LAMBDA(e, 
  COUNTIFS(C29:C42, "<"&e, D29:D42, ">"&s) > 1
))))

公式中的>1用于排除时间区间和自身比较的情况,如果你是拿外部指定的某一段时间范围和所有已录入区间做比对,将>1修改为>0即可。

场景2:逐行标注当前行和其他行是否存在重叠

在对应行的空白列(例如E列第29行)输入以下公式,下拉填充到所有时间行即可:

=COUNTIFS(C$29:C$42, "<"&D29, D$29:D$42, ">"&C29) > 1

注意事项

  • 所有存储时间的单元格要确保格式为「时间」或「日期时间」格式,不要存储为文本,否则时间大小比较会出错
  • 调整公式内的引用范围时,要保证C列和D列的起止行数完全匹配,避免出现范围不一致的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 09:54:01