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

如何用Excel公式批量生成基于Model与Quantity的序列号?

批量生成对应型号的序列号(Excel公式实现)

当然可以!不用手动下拉到天荒地老,不管数量多大,用Excel公式就能一键搞定。我分两种情况给你讲,适配不同的Excel版本:

一、Excel 365/2021(支持动态数组,推荐!)

如果你的Excel是新版的,那操作超简单,一个动态数组公式就能自动溢出所有序列号,根本不用下拉。

假设你的型号在A列(比如A2开始是型号),数量在B列(B2对应A2的数量),在任意空白单元格(比如C2)输入这个公式:

=TOCOL(A2:A4 & "-" & SEQUENCE(1,B2:B4),,TRUE)

(注意把A2:A4改成你实际的型号数据范围,比如A2:A100)

公式拆解:

  • SEQUENCE(1,B2:B4):针对每个型号的数量,生成从1到对应数量的序号序列(比如B2是5,就生成{1,2,3,4,5})
  • A2:A4 & "-" & SEQUENCE(...):把型号和对应的序号拼接成完整的序列号(比如X100-1、X100-2...)
  • TOCOL(..., ,TRUE):把所有型号的序列号序列合并成一列,并且自动忽略空行或错误值

输入完公式后,Excel会自动把所有需要的序列号填充到下方单元格,完全不用手动操作!

二、旧版Excel(不支持动态数组,比如2019及更早)

如果你的Excel版本比较旧,没有动态数组功能,那就用数组公式来实现。同样假设型号在A2:A100,数量在B2:B100,在C2单元格输入以下公式,然后按Ctrl+Shift+Enter(不是普通回车,这是数组公式的输入方式),之后下拉单元格直到出现空值:

=IFERROR(INDEX($A$2:$A$100,SMALL(IF($B$2:$B$100>=ROW(INDIRECT("1:"&MAX($B$2:$B$100))),ROW($A$2:$A$100)-ROW($A$2)+1),ROW(A1))) & "-" & COUNTIF($C$1:C1,INDEX($A$2:$A$100,SMALL(IF($B$2:$B$100>=ROW(INDIRECT("1:"&MAX($B$2:$B$100))),ROW($A$2:$A$100)-ROW($A$2)+1),ROW(A1)))&"*")+1,"")

公式逻辑:

  1. 用IF($B$2:$B$100>=ROW(...))判断每个型号需要生成多少个序列号,标记对应的行号
  2. SMALL(...,ROW(A1))按顺序提取每个需要生成序列号的型号
  3. COUNTIF(...)统计当前型号在前面已经出现的次数,加1就是当前的序号
  4. IFERROR(...)确保当所有序列号生成完后,后续单元格显示空值,不会出现错误

举个实际例子:
如果A2=X100,B2=5;A3=Y200,B3=3,那么生成的结果就是:

  • C2: X100-1
  • C3: X100-2
  • C4: X100-3
  • C5: X100-4
  • C6: X100-5
  • C7: Y200-1
  • C8: Y200-2
  • C9: Y200-3

这样不管你的数量是几十还是几百,都能一次性生成所有序列号,再也不用手动下拉啦!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:13:25