Google Sheets中如何按Quantity列批量生成序列ID?现有公式仅生效首行
批量生成对应数量的ID公式修改方案
可用公式
直接使用以下公式即可实现所有行的批量ID生成:
=TOCOL(MAP(A2:A, B2:B, C2:C, LAMBDA(a, b, q, IF(q="",, TEXT(SEQUENCE(q), "T00"&a&"|"&b)))), 3)
公式说明
MAP(A2:A,B2:B,C2:C,LAMBDA(a,b,q,...)):逐行读取A(前缀)、B(后缀)、C(数量)列的内容,分别传递给变量a、b、qIF(q="",, TEXT(SEQUENCE(q), "T00"&a&"|"&b)):若当前行数量q为空则跳过,否则生成1到q的序列,并按T+两位序号+a|b的格式生成IDTOCOL(...,3):将所有行生成的ID数组合并为单列,同时自动忽略空值行的无效输出
替代方案(兼容旧版Sheets)
如果你的Google Sheets版本不支持MAP函数,可使用以下基于SEQUENCE的数组公式:
=ArrayFormula(TOCOL("T"&TEXT(SEQUENCE(ROWS(A2:A),MAX(C2:C)),"00")&A2:A&"|"&B2:B*(SEQUENCE(ROWS(A2:A),MAX(C2:C))<=C2:C),3))
内容的提问来源于stack exchange,提问作者xiii
相关产品推荐
相关产品推荐

