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

Google Sheets结合Sort/Filter/IFS公式 分组排序分配唯一ID

Google Sheets 按基准行排序分组自动分配唯一ID方案

将以下公式直接粘贴到B2单元格即可,全列ID会自动生成,无需提前手动录入ID内容、无需手动下拉填充:

=MAP(ROW(A2:A),LAMBDA(r,
  IF(r>COUNTA(A:A),"",
  LET(
    base_rows, FILTER(ROW(A2:A), MOD(ROW(A2:A)-2,4)=0),
    sorted_bases, SORT({{base_rows}, INDEX(A:A,base_rows)}),2,1),
    current_base, XLOOKUP(r, base_rows, base_rows, r-MOD(r-2,4)),
    base_rank, MATCH(current_base, INDEX(sorted_bases,,1),0),
    "ID-"&TEXT(base_rank,"000")
  ))
))

实现逻辑说明

  • 基准行自动识别:自动筛选行号满足MOD(行号-2,4)=0的行作为分组基准,即行号2、6、10、14、18、22……每隔4行选取的基准行,新增符合间隔规则的行会被自动纳入计算
  • 排序规则:提取所有基准行A列(Sort Key列)的值做升序排序,按照排序结果给每个基准组分配连续的唯一ID,不存在提前录入ID再排序的问题
  • 分组绑定:每个基准行和其后续连续3行自动绑定为同一分组,4行共用同一个唯一ID,完全符合分组要求
  • 空值适配:A列无数据的行B列自动返回空值,不会出现报错

自定义调整说明

如需修改ID格式,直接调整公式最后一行的拼接规则即可:

  • 需要纯数字ID:将最后一行替换为base_rank
  • 需要修改ID前缀:替换"ID-"部分的文本即可
  • 需要调整ID序号的位数:修改TEXT(base_rank,"000")里的0的数量,比如要4位序号就写"0000"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.01 02:12:42