无需VBA的Excel溢出公式:实现标题重复与动态序号生成
Excel 365 生成重复标题与动态序号的非字符串依赖方案
C列(Running Title:重复标题)
采用纯数组运算方案,完全不依赖字符串处理机制,稳定性更高。在C2单元格输入以下溢出公式:
=TOCOL(MAP(A2:A10, B2:B10, LAMBDA(title, count, IF(SEQUENCE(count), title))), 2)
原理说明:
MAP(A2:A10, B2:B10, ...):逐行遍历标题和对应的重复次数SEQUENCE(count):生成对应次数的连续整数数组(例如count=3时生成{1;2;3})IF(SEQUENCE(count), title):把数组的每个元素替换为当前标题,得到重复指定次数的标题数组TOCOL(..., 2):将所有二维数组拼接成一维溢出列,自动填充C列所有需要的行
D列(Running Number:动态序号)
只需在D2单元格输入以下溢出公式,即可自动生成对应每个标题重复组的1~count序号,无需拖拽填充:
=TOCOL(MAP(B2:B10, LAMBDA(count, SEQUENCE(count))), 2)
原理说明:
MAP(B2:B10, ...):逐行遍历重复次数SEQUENCE(count):生成从1到当前次数的连续整数序列(例如count=3时生成{1;2;3})TOCOL(..., 2):将所有序列拼接成一维溢出列,自动匹配C列的行数完成填充
注意:公式中的
A2:A10和B2:B10可根据实际数据范围调整,若数据连续,也可直接用A:A和B:B(但建议限定数据范围以提升运算效率)。
内容的提问来源于stack exchange,提问作者Frunit
相关产品推荐
相关产品推荐

