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

Google Sheets使用ARRAYFORMULA基于另一字段值增量单元格值的问题

Google Sheets 组号自动生成ARRAYFORMULA解决方案

原有方案问题说明

  • 第一个公式的问题:直接基于行偏移计算组号,没有统计已出现的新组(即B列值为1的单元格)数量,当存在多行同组的情况时,行偏移的增长速度会超过组号的增长速度,导致后续新组编号偏大。
  • 第二个公式的问题:在目标列的公式中直接引用目标列自身的单元格,触发了循环引用,导致表格不停重算、界面闪烁。

正确实现方案

直接在A4单元格粘贴如下公式即可,不需要下拉填充,会自动向下溢出计算所有行的组号,B列未输入内容的行自动留空:

=ARRAYFORMULA(IF(B4:B="",,SCAN(0, B4:B, LAMBDA(acc, curr, IF(curr=1, acc+1, acc)))))

公式逻辑说明

  • SCAN函数会从B4开始逐行遍历B列的取值,初始累加值acc设为0
  • 每遇到B列取值为1的行,就给累加值加1,代表进入新的分组
  • 遇到B列取值大于1的行,累加值保持不变,代表同组延续
  • 外层IF判断过滤B列为空的行,避免产生多余的0值
  • ARRAYFORMULA保证公式自动作用于整列,不需要手动下拉填充
    完全符合你给出的预期输出:当B列输入为1、1、1、2、3、1、1时,A列自动输出1、2、3、3、3、4、5。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 15:54:05