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

如何在Google Sheets中用ARRAYFORMULA自动生成BAND连续分组列?

Google Sheets 动态生成BAND列方案

直接在E2单元格输入以下公式,即可自动生成符合要求的BAND列:

=ARRAYFORMULA(
  IF(A2:A="",,
    BYROW(
      A2:A&"|"&ROW(A2:A),
      LAMBDA(x,
        LET(
          cust, LEFT(x, FIND("|", x)-1),
          current_row_num, VALUE(RIGHT(x, LEN(x)-FIND("|", x))),
          row_range, ROW(A$2:A$current_row_num),
          cust_range, A$2:A$current_row_num,
          amt_range, C$2:C$current_row_num,
          start_flags, --(
            (row_range=2) +
            (row_range>2)*(cust_range<>INDEX(cust_range, row_range-1)) +
            (row_range>2)*(amt_range<>INDEX(amt_range, row_range-1)) * (cust_range=INDEX(cust_range, row_range-1))
          ),
          SUM(FILTER(start_flags, cust_range=cust))
        )
      )
    )
  )
)

公式逻辑说明

  1. 标记分组起始行:通过判断每一行是否满足以下任一条件,标记为分组起始行(值为1):
    • 表格的第二行(数据起始行)
    • 当前行客户与表格上一行客户不同
    • 当前行客户与表格上一行相同,但金额不同
  2. 计算分组编号:对每个客户,累计从数据起始行到当前行的所有起始行标记数量,这个累计值就是当前行的BAND分组号。

这样就能实现:同一客户下连续相同金额的行归为同一分组;金额相同但不连续(中间隔了不同客户或不同金额的行)则属于不同分组;每个客户的分组独立递增,不受其他客户行的干扰。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 02:33:09