INDIRECT函数实例:多列数据转一列
(祝哥的函数公式应用是真神了,大家看看这篇文章!)
表亲们好哈,今天给大家带来的是一个用函数实现行列转换的技巧。
如下图所示,是一份某单位员工姓名表:
这个表中的姓名只有一列,却有140多行。如果以这样的版式打印,不仅浪费纸张,打印出的效果估计也能让领导掉头发的。
因此在打印之前,需要将A列姓名转换为适合打印的5列多行。以前咱们学习过借助WORD实现一列变多列的技巧,今天再给大家说说用函数公式如何来实现这样的效果。
D2单元格输入以下公式,向右向下复制:
=INDIRECT('a'&5*ROW(A1)-4+COLUMN(A1))&''
如需调整转换后的列数为6列,可修改公式为:
=INDIRECT('a'&6*ROW(A1)-5+COLUMN(A1))&''
思路解析:
1、“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的自然数序列。
2、与字符'A'连接成一个单元格地址“An”,最后用INDIRECT函数返回文本字符串所指定的引用,得到相应单元格的内容。公式向右、向下复制填充,完成多行5列的转换。
公式最后使用&''的目的是为了屏蔽在行列转换时,数据不足一行出现的0值。
行列转换完成,再添加字段标题,设置打印区域就可以了。
赞 (0)