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

Google Sheets累计求和至指定值后返回结果的实现方法

Google Sheets 逐行累加终止判断实现方案

核心逻辑实现(单组数据)

针对Col 1第1-5行(即A1:A5)的逐行累加判断需求,使用REDUCE函数实现迭代累加+中途终止逻辑,公式如下:

=REDUCE(0, A1:A5, LAMBDA(acc, curr,
  IF(ISTEXT(acc), acc,
    LET(new_acc, acc + curr,
      IF(new_acc >= 4, "Success",
        IF(new_acc <= -1, "Fail", new_acc)
      )
    )
  )
))

公式说明

  • REDUCE:以初始值0为起点,依次遍历目标单元格进行累加
  • ISTEXT(acc):若之前已返回"Success"或"Fail",直接保留结果不再继续计算
  • LET(new_acc, acc + curr):定义当前累加后的和,简化后续判断逻辑
  • 可直接修改公式中的4(X阈值)和-1(Y阈值)适配你的实际需求

示例验证

使用你提供的示例数据:

Col 01
1 1
2 2
3 -3
4 4
5 -2

代入公式后,累加流程为:

  1. 0+1=1 → 未触发阈值,继续
  2. 1+2=3 → 未触发阈值,继续
  3. 3+(-3)=0 → 未触发阈值,继续
  4. 0+4=4 → 达到≥4的条件,停止计算并输出Success

批量应用(多组数据)

如果需要对多行数据按每5行一组批量处理(比如A1:A5、A6:A10、A11:A15...),使用BYROW+SEQUENCE实现批量迭代:

=BYROW(SEQUENCE(ROUNDUP(COUNTA(A:A)/5),1,1,5), LAMBDA(row_start,
  REDUCE(0, INDIRECT("A"&row_start&":A"&row_start+4), LAMBDA(acc, curr,
    IF(ISTEXT(acc), acc,
      LET(new_acc, acc + curr,
        IF(new_acc >= 4, "Success",
          IF(new_acc <= -1, "Fail", new_acc)
        )
      )
    )
  ))
))

批量公式说明

  • SEQUENCE(ROUNDUP(COUNTA(A:A)/5),1,1,5):生成每组的起始行号(1,6,11...)
  • INDIRECT("A"&row_start&":A"&row_start+4):根据起始行号提取对应5行的单元格范围
  • 最终会生成结果数组,每行对应一组数据的判断结果

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 04:27:28