如何筛选非今日及未来日期对应的货币值进行求和
如何筛选非今日及未来日期对应的货币值进行求和
嘿,这个需求我之前处理过好几次,用表格自带的函数就能完美解决!咱们直接上实用的解法:
一、用SUMIFS函数(推荐,适用于Excel 2007+、Google Sheets)
假设你的货币值存放在B列,对应的日期在相邻的A列,直接用下面的公式就能实现只对「早于今天」的日期对应的货币值求和:
=SUMIFS(B:B, A:A, "<"&TODAY())
- 简单解释下:
SUMIFS是多条件求和函数,第一个参数B:B是我们要计算总和的货币值范围A:A是用来判断的日期列范围"<"&TODAY()是核心条件:TODAY()会自动获取当前系统的日期,拼接<后就表示「所有早于今天的日期」,刚好符合你“排除今日及未来日期”的要求
二、旧版Excel兼容方案(用SUMPRODUCT)
如果你用的是2003及更早的Excel(没有SUMIFS函数),可以用SUMPRODUCT替代:
=SUMPRODUCT(--(A:A<TODAY()), B:B)
- 原理说明:
--(A:A<TODAY())会把所有日期小于今天的单元格转换成数字1,不符合条件的转换成0- 再和B列的货币值一一相乘后求和,最终就只会累加符合条件的数值啦
几个要注意的小细节
- 确保日期列(A列)的单元格格式是标准日期格式,不然函数可能没办法正确识别日期值
- 如果需要固定某一天作为判断基准(而不是动态的今天),把
TODAY()换成具体的日期字符串就行,比如"<"&"2024-05-20"
备注:内容来源于stack exchange,提问作者dotNetBlackBelt
相关产品推荐
相关产品推荐

