Excel中SUMIF函数按时间(忽略日期)≥22:30求和问题
解决Excel中按时间部分筛选求和的问题
要实现忽略日期、仅对时间≥22:30的B列数值求和,核心是先提取A列的纯时间部分,再做条件判断。以下是两种可靠的实现方法:
方法一:用SUMPRODUCT兼容全版本Excel
=SUMPRODUCT((MOD(A:A,1)>=TIME(22,30,0))*B:B)
- 原理:Excel中日期时间以数值存储,整数部分代表日期,小数部分代表时间。
MOD(A:A,1)提取出A列的小数部分(即纯时间);TIME(22,30,0)生成22:30对应的数值;条件判断返回1(符合)或0(不符合),与B列数值相乘后求和。
方法二:用SUM+FILTER(Excel 365/2021及以上版本)
=SUM(FILTER(B:B,MOD(A:A,1)>=TIME(22,30,0)))
- 原理:
FILTER直接筛选出A列时间≥22:30对应的B列数据,再用SUM求和,写法更简洁直观。
为什么之前的方法失效?
- 单独用
SUMIF(A:A,">="&TIME(22,30,0),B:B)会失败:因为TIME(22,30,0)默认绑定当前日期,只会匹配当天22:30之后的记录,而非所有日期的对应时间。 - 若之前用
INT(A:A)处理,可能是没正确结合时间提取逻辑,比如仅用INT(A:A)取日期,未通过A:A-INT(A:A)或MOD提取纯时间再做判断。
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

