Excel/Google Sheets:能否仅用公式重复表格行并保持排序?
实现Excel/Google Sheets每行重复n次并保留原顺序的公式方案
需求说明
将原表格的每行重复指定的n次(示例中n=3),同时严格保留原表格的行排序顺序。假设原数据位于A1:C3区域:
a b c
q r s
x y z
目标输出为每行重复3次后的结果:
a b c
a b c
a b c
q r s
q r s
q r s
x y z
x y z
x y z
Google Sheets 公式实现
在空白单元格(如E1)输入以下公式,自动生成重复后的完整表格:
=ARRAYFORMULA(INDEX(A1:C3, CEILING(SEQUENCE(ROWS(A1:C3)*3)/3,1), COLUMN(A1:C3)))
- 核心逻辑:
ROWS(A1:C3)*3计算总输出行数(原行数×重复次数)SEQUENCE()生成连续序列,除以重复次数后用CEILING()向上取整,得到重复的行索引(如1,1,1,2,2,2...)INDEX()根据重复的行索引和原列索引,提取对应数据ARRAYFORMULA()实现批量计算,无需下拉填充
Excel 365/2021 公式实现
方法一:INDEX+SEQUENCE组合
=INDEX(A1:C3, ROUNDUP(SEQUENCE(ROWS(A1:C3)*3)/3,0), COLUMN(A1:C3))
逻辑与Google Sheets版本一致,仅用ROUNDUP()替代CEILING()实现向上取整。
方法二:TOCOL+WRAPROWS组合
=WRAPROWS(TOCOL(A1:C3*SEQUENCE(1,3),,TRUE), COLUMNS(A1:C3))
- 核心逻辑:
SEQUENCE(1,3)生成横向重复序列,与原区域相乘实现每行数据重复3次TOCOL()将二维数据转为一维序列WRAPROWS()按原表格列数重新拆分回二维表格
内容的提问来源于stack exchange,提问作者c0rb1n
相关产品推荐
相关产品推荐

