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

Google Sheets:如何实现到下一个月度行终止的调整项自动求和?

Google Sheets 自动求和调整额及表格优化方案

一、自动求和公式实现

针对C列的月度行(A列含月份的行),可使用以下公式自动求和当前行下方所有标注为「Adjustment」的D列数值,直到遇到下一个月度行:

单个单元格公式(支持下拉填充)

在C2单元格输入公式后,下拉至所有行即可:

=IF(A2<>"", SUM(FILTER(D:D, ROW(D:D) > ROW(A2), ROW(D:D) < IFERROR(MIN(FILTER(ROW(A:A), A:A<>"", ROW(A:A) > ROW(A2))), ROWS(A:A)+1), B:B="Adjustment")), "")

数组公式(一次性填充整列)

若希望一键完成整列公式设置,在C2单元格输入以下数组公式:

=ARRAYFORMULA(IF(A2:A<>"", SUMIFS(D:D, ROW(D:D) > ROW(A2:A), ROW(D:D) < IFERROR(MINIFS(ROW(A:A), A:A<>"", ROW(A:A) > ROW(A2:A)), ROWS(A:A)+1), B:B="Adjustment"), ""))

公式逻辑说明:

  • IF(A2<>"")判断当前行是否为月度行,非月度行自动留空
  • MIN(FILTER(ROW(A:A), ...))定位当前行下方的第一个月度行,作为求和范围的终点
  • FILTER(D:D, ...)筛选出当前行到下一个月度行之间、B列为「Adjustment」的D列数值,最终用SUM完成求和

二、更优的表格结构方案

若需频繁调整金额,建议重构表格结构,将调整项与对应月份直接关联,摆脱行位置依赖:

优化后结构示例

月份(A列)类型(B列)金额(C列)备注(D列)总计(E列)
January月度金额100=IF(B2="月度金额", SUMIF(A:A, A2, C:C), "") (100)
February月度金额150100
FebruaryAdjustment-50Just Because
March月度金额1000
MarchAdjustment100One!
MarchAdjustment-200Two!
April月度金额00

核心优势

  • 调整项无需紧跟月度行,可随时添加/删除,位置不受限制
  • 总计列通过SUMIF(A:A, A2, C:C)直接汇总对应月份的所有金额(月度金额+调整额),无需手动维护求和范围
  • 数据结构更清晰,便于后续筛选、统计或生成报表

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 06:04:53