求Excel中将多行数据并排显示的代码或公式方案
多行数据并排重排方案
方法1:Excel动态数组公式(适用于365/2021及以上版本)
将以下公式输入到空白单元格(例如E2),按下回车后会自动溢出所有重排结果:
=LET( data,A2:C21, rows_per_group,4, groups,ROWS(data)/rows_per_group, result,WRAPROWS(TOROW(INDEX(data,SEQUENCE(ROWS(data),,1,1),SEQUENCE(1,COLUMNS(data))),,groups),COLUMNS(data)*groups), result )
参数说明:
data:源数据范围,对应你的A2:C21rows_per_group:每组的行数,你的数据为4行一组- 公式会自动将每组数据横向并排,原数据中同一行位置的内容将保持在同一行
方法2:VBA代码(适用于所有Excel版本)
若使用旧版Excel,或需要一键批量处理,可使用以下代码:
Sub RearrangeDataSideBySide() Dim srcRange As Range, destRange As Range Dim rowsPerGroup As Integer, totalGroups As Integer Dim i As Integer ' 定义源数据范围和输出起始位置 Set srcRange = ActiveSheet.Range("A2:C21") Set destRange = ActiveSheet.Range("E2") rowsPerGroup = 4 ' 每组行数,按需修改 totalGroups = srcRange.Rows.Count / rowsPerGroup ' 循环复制每组数据到横向位置 For i = 0 To totalGroups - 1 srcRange.Offset(i * rowsPerGroup).Resize(rowsPerGroup).Copy _ destRange.Offset(, i * srcRange.Columns.Count) Next i End Sub
使用步骤:
- 按下
Alt+F11打开VBA编辑器 - 右键工作簿→插入→模块,添加新模块
- 粘贴代码,按需修改
srcRange、destRange和rowsPerGroup参数 - 运行代码完成重排
内容的提问来源于stack exchange,提问作者MSP
相关产品推荐
相关产品推荐

