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

Google Sheet序列号生成问题:按唯一名称设置起始编号

Google Sheet 按名称分组生成序列号解决方案

需求分析

你需要生成的序列号包含三部分:

  • 名称前两位前缀
  • 日期的年月部分
  • 按唯一名称+年月分组的递增序号(同一名称同一年月内从1开始计数)

现有公式仅生成了前两部分,缺少分组递增的序号逻辑,这是核心问题。

修正后的公式

在目标列(比如F列)输入以下数组公式:

=ARRAYFORMULA(
  IF(
    E2:E="",,
    LEFT(E2:E,2) & 
    YEAR(D2:D) & "-" & TEXT(MONTH(D2:D),"0") & "-" & 
    COUNTIFS(
      E2:E, E2:E,
      YEAR(D2:D), YEAR(D2:D),
      MONTH(D2:D), MONTH(D2:D),
      ROW(D2:D), "<="&ROW(D2:D)
    )
  )
)

公式说明

  1. 前缀部分:LEFT(E2:E,2) 提取名称前两位,保留你原有的逻辑
  2. 年月部分:YEAR(D2:D) & "-" & TEXT(MONTH(D2:D),"0") 生成年份+月份(如2024-5),若需要月份两位格式(如2024-05),将"0"改为"00"即可
  3. 分组递增序号:COUNTIFS 同时匹配三个条件:
    • 同一名称(E列值相同)
    • 同一年份(D列年份相同)
    • 同一月份(D列月份相同)
    • 当前行及之前的行(ROW(D2:D), "<="&ROW(D2:D)),实现每组内从1开始递增计数

注意事项

  • 确保D列是日期格式,否则YEAR()和MONTH()函数无法正常提取年月
  • 若需要序号带固定位数(如001、002),可将COUNTIFS(...)部分改为TEXT(COUNTIFS(...), "000"),根据需求调整位数

内容的提问来源于stack exchange,提问作者Ferdinand palaspas II

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 16:32:40