Excel/LibreOffice Calc:使用Sumif按日期范围求和对应月份值并计算剩余值
Excel/LibreOffice Calc 按指定日期范围求和并计算剩余值的方法
前期准备
- 确认数据集包含两列必填内容:标准格式的日期列、待求和的数值列,日期不能是文本格式,否则会匹配失败
- 提前确定3个计算参数:日期范围的起始日期、结束日期、用于扣减的初始值
方案1:使用SUMIFS多条件求和(推荐,逻辑直观)
SUMIFS支持直接设置多组匹配条件,刚好适配日期范围的上下限要求,语法如下:
SUMIFS(求和区域, 条件区域1, 条件1, 条件区域2, 条件2)
实际用法示例
假设你的数据结构如下:
- 日期列范围:A2:A100
- 待求和数值列范围:B2:B100
- 起始日期存放在D1单元格,结束日期存放在E1单元格,初始值存放在F1单元格
- 仅计算指定日期范围的求和结果:
=SUMIFS(B2:B100, A2:A100, ">="&D1, A2:A100, "<="&E1) - 直接计算扣减后的剩余值:
=F1 - SUMIFS(B2:B100, A2:A100, ">="&D1, A2:A100, "<="&E1)
方案2:仅用SUMIF实现需求
如果只能使用单条件的SUMIF函数,可以通过「小于等于结束日期的总和」减去「小于起始日期的总和」,间接得到指定范围内的求和值。
还是以上面的单元格配置为例:
- 仅计算指定日期范围的求和结果:
=SUMIF(A2:A100, "<="&E1, B2:B100) - SUMIF(A2:A100, "<"&D1, B2:B100) - 直接计算扣减后的剩余值:
=F1 - (SUMIF(A2:A100, "<="&E1, B2:B100) - SUMIF(A2:A100, "<"&D1, B2:B100))
注意事项
- 日期和比较符拼接时必须加
&符号,不能直接写">=D1",否则公式会将D1识别为普通文本而非单元格引用 - Excel和LibreOffice Calc的上述函数语法完全一致,不需要额外调整
- 如果日期匹配失效,可选中日期列,右键设置单元格格式为日期类型,确认是标准日期格式而非文本格式
内容的提问来源于stack exchange,提问作者Tobi S
相关产品推荐
相关产品推荐

