软件下载 点击激活 软件下载

转换行列,这个公式会了吗?

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

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

转换行列,这个公式会了吗?

这个表中的姓名只有一列,却有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值。

如果要把D2:H10单元格区域中多行多列的数据转换为一列,该怎样处理呢?

任意单元格中输入以下公式,下拉到出现空白单元格为止:

=OFFSET($D$2,(ROW(A1)-1)/5,MOD(ROW(A1)-1,5))

转换行列,这个公式会了吗?

思路解析:

先来看看这部分:(ROW(A1)-1)/5 ,作用是生成一个特殊的递增序列0、0.2、0.4、0.6、0.8、1、1.2……  

OFFSET函数将公式结果作为向下偏移的行数,并且会自动向下舍入到整数。就相当于得到从0开始,公式每下拉5行,结果递增1的序列。

MOD(ROW(A1)-1,5)部分,仍然是得到一个特殊的循环序列,公式下拉时,结果为0、1、2、3、4、0、1、2、3、4…… 

OFFSET函数将这部分的结果作为向右偏移的列数。

将上面两部分结合起来,OFFSET函数以D2单元格为基准点,公式下拉时依次偏移到数据源第二行的E、F、G、H列。

当公式下拉到第5行时,OFFSET函数从D2开始向下偏移1行到D3单元格,然后继续向右依次偏移到第三行的E、F、G、H列

如此循环往复……

最后留给大家两个课后题:

1、如果要将A列数据转换为6列多行,需要使用什么公式呢?

2、如果要将6列多行的数据转换为1列,公式该怎么修改呢?

欢迎评论区参与讨论

快速提取文件夹内的文件名

微信扫一扫加关注,Office自学网官方微信公众号,

专注分享软件安装和视频教程,让你一号在手,办公无忧!

给TA打赏
共{{data.count}}人
人已打赏
办公技巧

你真的会用【Ctrl+F】吗?

2022-9-20 21:07:56

办公技巧

不同青年如何输入身份证号码

2022-9-21 14:52:07

文章版权声明 1、本网站名称:office自学网
2、本站永久网址:https://www.officezxw.com/
3、本网站的文章部分内容可能来源于网络,仅供大家学习与参考,如有侵权,请联系站长QQ:1241926466进行删除处理。
4、本站一切资源不代表本站立场,并不代表本站赞同其观点和对其真实性负责。
5、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
6、本站资源大多存储在云盘,如发现链接失效,请联系我们我们会第一时间更新。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索