在打印名单或整理数据时,经常需要把一列长长的姓名转换成多行多列。手动复制粘贴不仅慢,数据更新后还得重新操作。其实用 INDEX 和 SEQUENCE 两个函数组合,一个公式就能自动完成转换。

一、公式写法

假设 A 列是姓名,需要转换成 D2 行、D3 列的多列布局。在 C5 单元格输入以下公式,按回车:

=INDEX(A:A, SEQUENCE(D2, D3, 2)) & ""

结果会自动溢出到指定的行列区域,姓名按顺序排列成多列。

Excel一列转多列,INDEX+SEQUENCE公式一键搞定-天天办公网

二、公式拆解

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 按序号取姓名,&”” 屏蔽空白。一个公式搞定多行多列转换,行列数还能随时调整。下次打印名单时,用这个方法就方便多了。