当前位置: 欣欣网 > 办公

一列转多列,这个公式挺好用

2024-03-02办公

小伙伴们好啊,今天给大家带来的是一个用函数实现行列转换的技巧。

如下图所示,是一份员工名单:

这个表中的姓名只有一列,却有40多行。 打印之前,需要将A列姓名转换为适合打印的5列多行。

接下来咱们就说说用函数公式如何来实现这样的效果。

D2单元格输入以下公式,向右向下复制:

=INDIRECT("a"&5*ROW(A1)-4+COLUMN(A1))&""

思路解析:

5*ROW(A1) -4+COLUMN(A1) 」部分,用于得到有规律的序列值,起始计算结果为2。

公式向下复制填充时ROW(A1)依次变为ROW(A2)、ROW(A3)……,计算结果分别为7、12……,即生成步长值为 5 的自然数序列。

公式向右复制填充时COLUMN(A1)依次变为COLUMN(B1)、COLUMN(C1)……,计算结果分别为3、4……即生成 步长值 1 的自然数序列。

这部分的计算结果与字符"a"连接成一个单元格地址「An」,最后用INDIRECT函数返回文本字符串所指定的引用,得到相应单元格的内容。

公式最后使用&"",目的是为了屏蔽在引用空白单元格时返回的无意义的0值。

在Excel 2021或者是最新版的WPS表格中,公式就简单多了:

C2输入以下公式,按回车即可:

=INDEX(A:A,SEQUENCE(500,5,2))&""

SEQUENCE专门用于生成序列值数组。 常用语法为:

=SEQUENCE(行数,[列数],[初始值],[步长])

先使用 SEQUENCE函数生成一个500行、5列,并且从2开始的序号,然后用INDEX函数从A列返回对应位置的内容。

你学会了吗?

图文制作:祝洪忠