Excel自动重复数据:如何让公式自动识别重复终点并切换对象?
实现主数据按指定次数自动重复并切换对象
针对你的需求,用动态数组公式就能实现自动遍历每一行数据、重复对应次数并自动切换到下一个对象的效果,不需要手动逐行调整公式:
单列输出(纵向重复)
在目标起始单元格(比如G4)输入以下公式:
=TOCOL(BYROW(B4:E6, LAMBDA(r, TEXTSPLIT(REPT(INDEX(r,1)&",", INDEX(r,4)), ","))), 1)
多列输出(横向重复)
如果需要横向展开结果,把TOCOL换成TOROW即可:
=TOROW(BYROW(B4:E6, LAMBDA(r, TEXTSPLIT(REPT(INDEX(r,1)&",", INDEX(r,4)), ","))), 1)
公式说明
BYROW(B4:E6, LAMBDA(r, ...)):遍历你指定的数据行范围(这里是B4到E6),将每行数据作为参数传给变量rINDEX(r,1):提取当前行的对象内容(对应B列),INDEX(r,4)提取当前行的重复次数(对应E列)REPT(...):按照指定次数生成带分隔符的重复字符串TEXTSPLIT(...):将重复字符串拆分为独立的对象数组TOCOL/TOROW(...,1):将所有行的数组合并为单列/单行,并自动忽略拆分产生的空值
注意事项
- 把公式中的
B4:E6替换成你的实际数据范围(比如B4:E100) - 该公式仅支持Excel 365/2021及以上版本(需要动态数组函数支持)
- 如果你的对象内容包含逗号,把公式中的分隔符
,换成其他不冲突的字符(比如|),确保前后一致
内容的提问来源于stack exchange,提问作者Asifa.K
相关产品推荐
相关产品推荐

