我有一列包含 3 行,我希望能够每行重复 5 次。
例子
姓名 |
---|
狗 |
猫 |
球 |
期望的输出
输出 |
---|
狗 |
狗 |
狗 |
狗 |
狗 |
猫 |
猫 |
猫 |
猫 |
猫 |
球 |
球 |
球 |
球 |
球 |
这是我尝试过的:
=TRANSPOSE(split(rept(join(";",A:A)&";",5),";"))
我的尝试产生:
输出 |
---|
狗 |
猫 |
球 |
狗 |
猫 |
球 |
狗 |
猫 |
球 |
狗 |
猫 |
球 |
狗 |
猫 |
球 |
无需拆分和连接以及其他字符串操作,
=ARRAYFORMULA(FLATTEN(IF(SEQUENCE(ROWS(A2:A4),5),A2:A4)))
A2:A4
重复的范围5
重复次数SEQUENCE
创建二维数组IF
将一维数组 A2:A4
转置为大小等于创建的 SEQUENCE
数组FLATTEN
二维到一维数组。A1 | 姓名 |
---|---|
A2 | 狗 |
A3 | 猫 |
A4 | 球 |
输出 |
---|
狗 |
狗 |
狗 |
狗 |
狗 |
猫 |
猫 |
猫 |
猫 |
猫 |
球 |
球 |
球 |
球 |
球 |
=transpose(split(join("~",ArrayFormula(rept({Balls}&"~",3))),"~"))
地点:
Range
是要重复的文本范围Reps
是重复次数请注意,如果您的文本包含 ~ 将
"~"
的所有实例更改为另一个字符
这是另一个技巧。
A1:A3
在我的例子中是狗、猫、球重复了 4 次。
=ARRAYFORMULA( FLATTEN(A1:A3 & SPLIT(REPT(" |",4),"|")))