如何在Excel中批量将A列单个单元格内容重复填充至8行?
Excel中批量将A列单元格内容重复填充8行的方法
方法一:公式法(无需宏或插件)
假设数据从A1开始,在B1单元格输入以下公式,下拉填充至目标行即可:
=INDEX($A:$A,ROUNDUP(ROW()/8,0))
原理:通过ROW()获取当前行号,除以8后向上取整,定位到A列对应的源单元格,再用INDEX提取内容。若需要将公式结果转为静态值,选中B列数据,右键选择「复制」后再右键选择「粘贴值」即可。
方法二:Power Query法(适配大量数据)
- 选中A列数据区域,点击「数据」选项卡→「从表格/区域」(Excel 2016及以上版本),根据数据情况确认是否包含标题。
- 在Power Query编辑器中,选中数据列,点击「转换」选项卡→「重复行」,在弹窗中输入
7(原行保留,重复7次后总计8行)。 - 点击「主页」选项卡→「关闭并上载」,处理后的数据会自动加载到新工作表中。
方法三:VBA宏(一键批量处理)
按Alt + F11打开VBA编辑器,插入新模块,粘贴以下代码:
Sub RepeatCells8Times()
Dim lastRow As Long
Dim i As Long, j As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row
'从最后一行向上处理,避免覆盖源数据
For i = lastRow To 1 Step -1
For j = 1 To 7
Rows(i + 1).Insert Shift:=xlDown
Cells(i + 1, "A").Value = Cells(i, "A").Value
Next j
Next i
End Sub
返回Excel界面,按Alt + F8选择RepeatCells8Times执行宏,即可自动完成重复填充。
内容的提问来源于stack exchange,提问作者Thành Khải




