如何在Excel中检查日期是否处于多个起止日期区间内
检查指定日期是否落在任意多个起止日期区间的Excel公式方案
核心需求
判断指定日期是否存在于任意一组给定的起止日期区间内(结束日期≥开始日期),替代逐个区间写AND再嵌套OR的繁琐操作。
模拟数据说明
待检查日期在A1,多组起止日期分别在B1:C1、B2:C2(可扩展至更多行):
| A | B | C | |
|---|---|---|---|
| 1 | 1.5.23 | 30.4.23 | 2.5.23 |
| 2 | 7.7.23 | 7.7.23 |
预期结果:A1日期落在B1:C1区间,公式返回TRUE。
简便公式方案
方案1:SUMPRODUCT函数(兼容所有Excel版本)
公式:
=SUMPRODUCT(--(A1>=B1:B2), --(A1<=C1:C2))>0
- 原理:
--将逻辑判断结果(TRUE/FALSE)转换为数值1/0,SUMPRODUCT计算同时满足待查日期≥区间开始和待查日期≤区间结束的区间数量。只要数量>0,说明日期落在至少一个区间内,返回TRUE。 - 扩展:如果有更多区间,只需把
B1:B2、C1:C2改成实际的区间范围(如B1:B100)。
方案2:COUNTIFS函数(适用于Excel 2019及以上/365)
公式:
=COUNTIFS(B1:B2,"<="&A1, C1:C2,">="&A1)>0
- 原理:
COUNTIFS直接统计满足区间开始≤待查日期且区间结束≥待查日期的区间数量,数量>0时返回TRUE。 - 优势:语法更直观,适合新版Excel环境。
验证示例
针对模拟数据,两个公式都会计算出符合条件的区间数为1,因此返回TRUE,符合预期。
内容的提问来源于stack exchange,提问作者Xenonite
相关产品推荐
相关产品推荐

