一列转多列的三种方法

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

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

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

接下来咱们就说说如何来实现这样的效果。

方法1

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值。

方法2

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

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

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

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

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

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

方法3

Excel2021或者是最新版的WPS表格用户,使用以下公式更加简单:

=WRAPROWS(A2:A41,5,"")

WRAPROWS函数用于将一列数据转换为多列,第一参数是要处理的数据区域,第二参数是要转换的列数,第三参数指定在原数据不够填充时,单元格里显示的内容。

你学会了吗?

图文制作:祝洪忠

版权声明:本站所有作品(图文、音视频)均由用户自行上传分享,仅供网友学习交流,不声明或保证其内容的正确性,如发现本站有涉嫌抄袭侵权/违法违规的内容。请举报,一经查实,本站将立刻删除。

相关推荐