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

如何实现财年(10月-次年9月)重置的滚动累计求和?

Excel财年(10月-次年9月)滚动累计总额公式实现

需求说明

实现Excel表格中财年滚动累计列,财年周期为每年10月至次年9月,累计值在每年10月时重置为当月数值,其余月份为当前财年起始(10月)至当月的数值总和,要求使用纯Excel公式(非VBA/Power Query)。

完整公式及解析

兼容全版本Excel的数组公式

=IF(MONTH(A2)=10,B2,SUM(INDEX(B:B,MAX(IF(MONTH(A$2:A2)=10,ROW(A$2:A2),0))):B2))
  • 旧版Excel输入时需按 Ctrl+Shift+Enter 完成数组公式确认(Excel 365/2021无需此操作)
  • 公式拆解:
    1. MONTH(A2)=10:判断当前行是否为财年起始月,若是直接取当月数值B2
    2. MAX(IF(MONTH(A$2:A2)=10,ROW(A$2:A2),0)):从A$2到A2范围内,找到最后一个月份为10的行号,定位当前财年累计起始行
    3. INDEX(B:B, 上述行号):定位累计起始行对应的B列单元格,结合B2形成求和区域,最终用SUM计算累计总额

无需数组输入的简化公式(兼容Excel 2010+)

=IF(MONTH(A2)=10,B2,SUM(INDEX(B:B,LOOKUP(2,1/(MONTH(A$2:A2)=10),ROW(A$2:A2))):B2))
  • LOOKUP(2,1/(MONTH(A$2:A2)=10),ROW(A$2:A2)):利用LOOKUP忽略错误值的特性,直接匹配范围内最后一个10月的行号,无需数组输入,操作更便捷

Excel 365/2021专属简化公式

=IF(MONTH(A2)=10,B2,SUM(FILTER(B$2:B2,MONTH(A$2:A2)=10,A2):B2))
  • 借助FILTER函数筛选当前行之前的所有10月行,结合默认值定位起始行,逻辑更直观

使用注意事项

  • A列为日期列,需确保单元格格式为日期格式,避免公式识别错误
  • 公式中的A$2:A2和B$2:B2为混合引用,下拉填充时会自动扩展范围,无需手动调整

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.25 23:31:23