小伙伴们好啊,今天给大家带来的是一个用函数实现行列转换的技巧。
如下图所示,是一份员工名单:
这个表中的姓名只有一列,却有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列返回对应位置的内容。
你学会了吗?
图文制作:祝洪忠