如何用Excel公式根据另一单元格数值重复列出指定单元格内容
Excel公式实现按指定次数重复单元格内容并自动溢出
场景1:单元格为单个内容(如示例中的"Data")
在C1单元格输入以下任意一个动态数组公式,即可自动将A1的内容重复B1指定的次数,溢出到C列的多行中:
公式1(简洁版):
=SEQUENCE(B1,,A1,0)原理:
SEQUENCE函数生成包含B1个元素的序列,起始值设为A1、步长为0,因此所有元素均为A1的内容,自动向下溢出填充。公式2(直观版):
=MAKEARRAY(B1,1,LAMBDA(r,c,A1))原理:
MAKEARRAY创建一个B1行1列的数组,通过LAMBDA函数定义每个位置的元素为A1的值,完成重复填充并溢出。
示例验证:当A1为Data、B1为5时,C1到C5会自动填充Data,完全匹配需求。
场景2:单元格为CSV格式的多个内容(如"A,B,C")
如果A1是逗号分隔的CSV数据,需要将每个内容单独重复B1次并连续溢出,可使用以下公式:
=TOCOL(INDEX(TEXTSPLIT(A1,","),ROUNDUP(SEQUENCE(B1*COUNTA(TEXTSPLIT(A1,",")))/B1,0)))
原理:
TEXTSPLIT(A1,",")将CSV内容拆分为单个值的数组SEQUENCE生成总长度为「CSV值数量×重复次数」的序列ROUNDUP(...)计算每个序列位置对应的CSV值索引,确保每个值连续重复B1次TOCOL将二维数组转为一维,实现自动溢出填充
内容的提问来源于stack exchange,提问作者Bryan Singer
相关产品推荐
相关产品推荐

