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

如何用单个公式计算可按条件重置的行级累计求和?

解决方案

可以使用Google Sheets的ARRAYFORMULA结合SCAN函数实现动态行数的条件重置累计求和,无需拖拽公式,单个公式即可自动适配数据更新。

在E2单元格输入以下公式:

=ARRAYFORMULA(
  SCAN(, C2:C, LAMBDA(acc, curr,
    IF(ISBLANK(curr),,
      IF(ROW(curr)>ROW(C2) AND AND(NOT(ISBLANK(INDEX(D:D, ROW(curr)-1))), INDEX(D:D, ROW(curr)-1)<>0),
        curr,
        IF(ISBLANK(acc), curr, acc + curr)
      )
    )
  ))
)

公式说明:

  • ARRAYFORMULA:让公式自动应用到整列,无需手动拖拽。
  • SCAN:逐行遍历C列数据,维护一个累加值(acc),并根据条件更新这个值:
    1. 如果当前C列单元格为空,返回空值,避免填充无关行。
    2. 第一行数据(C2)直接返回自身值作为初始累加值。
    3. 后续行检查上一行的D列单元格是否非空且非零:
      • 满足条件时,重置累加值为当前C列单元格的值。
      • 不满足条件时,将当前C列单元格的值加到之前的累加值上。

这个公式会自动适配C列的动态行数,当外部源更新数据时,累计求和结果会同步自动更新。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.29 01:13:17