在打印名单或整理数据时,经常需要把一列长长的姓名转换成多行多列。手动复制粘贴不仅慢,数据更新后还得重新操作。其实用 INDEX 和 SEQUENCE 两个函数组合,一个公式就能自动完成转换。
一、公式写法
假设 A 列是姓名,需要转换成 D2 行、D3 列的多列布局。在 C5 单元格输入以下公式,按回车:
=INDEX(A:A, SEQUENCE(D2, D3, 2)) & ""
结果会自动溢出到指定的行列区域,姓名按顺序排列成多列。

二、公式拆解
SEQUENCE 函数:按指定行列数生成序号。写法为 =SEQUENCE(行数, 列数, 开始数, 增量)。这里 SEQUENCE(D2, D3, 2)表示生成 D2 行、D3 列的序号,起始值为 2,增量默认为 1。为什么从 2 开始?因为 A 列第 1 行通常是标题,姓名从 A2 开始。
INDEX 函数:根据序号从 A 列中取出对应位置的内容。INDEX(A:A, 序号数组) 会返回 A 列中对应行的值。
&””:防止空白单元格返回 0,加上空字符串后,没有姓名的地方显示为空白。
三、操作步骤
1、在 D2输入需要的行数,比如 7;在 D3 输入列数,比如 6。
2、在 C5 单元格输入上述公式。
3、按回车,姓名自动按 7 行 6 列排列。
4、修改 D2 或 D3 的值,排列结果自动调整。
四、使用注意
SEQUENCE 函数仅支持 Excel 2021、Office 365 和最新版 WPS。旧版本无法使用,可以用 INDEX+ROW+COLUMN 组合替代,但公式会更复杂。另外,结果区域要留出足够空白,否则会报 #SPILL! 错误。
五、总结
Excel一列转多列用 INDEX+SEQUENCE 是最简洁的方法:SEQUENCE 生成位置序号,INDEX 按序号取姓名,&”” 屏蔽空白。一个公式搞定多行多列转换,行列数还能随时调整。下次打印名单时,用这个方法就方便多了。