小伙伴们好啊,今天给大家带来的是一个用函数实现行列转换的技巧。
如下图所示,是一份员工名单:
这个表中的姓名只有一列,却有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或者是Office 365的同学,公式就简单多了:
C2输入以下公式,按回车即可:
=INDEX(A:A,SEQUENCE(500,5,2))&””
SEQUENCE是Office 365中特有的函数,专门用于生成序列值数组。常用语法为:
=SEQUENCE(行数,[列数],[初始值],[步长])
先使用SEQUENCE函数生成一个500行、5列,并且从2开始的序号,然后用INDEX函数从A列返回对应位置的内容。
你学会了吗?
·END·
微信扫一扫加关注,Office自学网官方微信公众号,
专注分享软件安装和视频教程,让你一号在手,办公无忧!