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