Excel如何⽤公式,实现⾏与列的灵活转换?
阅读⽂本⼤概需要1-2min.
Excel作为⼩型数据的载体,数据录⼊区域仅由⾏和列组成,上⼿简单、应⽤⾯⼴。
⽇常数据处理中经常会遇到⾏与列转换的情况,如多⾏转⼀⾏、⼀列转多列等,今天我们就系统地介绍下,
如何⽤公式,来实现⾏与列的灵活转换。
多列转⼀列:
多⾏转⼀⾏:
⼀列转多列:
⼀⾏转多⾏:
可以发现的是,这些转换全部是⽤OFFSET函数来实现的,所以先来了解下OFFSET函数的功能。
OFFSET函数功能为:
以指定的引⽤为参照系,通过给定偏移量返回新的引⽤。
表达式:
OFFSET(引⽤区域,⾏偏移量,列偏移量,[返回⾏⾼],[返回列宽]),⼀共五个参数,后⾯两个可以省
略,举个例⼦加深对函数的理解:
例1
OFFSET(A2,4,1)意思是参照A2单元格,向下偏移向下偏移4⾏、向右偏移1列:
A2单元格位于第2⾏、向下偏移4⾏就是第6⾏;
A2单元格位于第1列(A列)、向右偏移1列就是第2列(B列);
所以OFFSET(A2,4,1)最后返回的单元格是B6单元格的内容,即51。
例2
OFFSET(C6,-3,-2)意思是参考C6单元格,向上偏移3⾏(参数2负号表⽰向上)、向左偏移2列(参数3负号表
⽰向左):
C6单元格位于第6⾏、向上偏移3⾏就是第3⾏;
C6单元格位于第3列(C列)、向左偏移2列就是第1列(A列);
所以OFFSET(C6,-3,-2)最后返回A3单元格的内容,即56。
总结:
以第⼀个参数为参照物,第⼀个参数为参照物,向下(正数)或向上(负数)偏移X⾏(参数2的绝对值);
向右(正数)或向左(负数)偏移Y列(参数3的绝对值),所得的单元格内容,即为公式返回值
。
弄清楚函数的功能,再来看今天的⾏列转换就要轻松很多,我们以多列转⼀列为例,来看下函数的具体⽤法
。
下图中,需要将A1:C5共15个单元的内容竖向排列(转1列),⾸先排列第⼀⾏A1-C1单元格,接着排列A2-C
2单元格…以此类推。
F列是最终每个单元格的位置;G-H列为每个单元格通过A1单元格偏移量的值。
先来看偏移的⾏数,每隔三个数偏移⾏加1,这⾥可以⽤(ROW(A1)-1)/3来实现,ROW函数返回当前单元
格的⾏数,公式下拉的时候:
ROW(A1)返回1,(1-1)/3等于0,OFFSET函数中返回0;
ROW(A2)返回2,(2-1)/3不⾜1,OFFSET函数中返回0;
ROW(A3)返回3,(3-1)/3不⾜1,OFFSET函数中返回0;
ROW(A4)返回4,(4-1)/3等于1,OFFSET函数中返回1;
ROW(A5)返回5,(5-1)/3不⾜2,OFFSET函数中返回1;
………..
每隔三个数,⾏位移增加1;
接着来看偏移的列数,0,1,2/0,1,2反复循环,因为只有三列,只需要偏移3次即可遍历数据源,这⾥⽤MOD(R
OW(A1)-1,3)公式来实现,MID函数为取余函数:
MOD(ROW(A1)-1,3)等价于MOD(1-1,3)余数为0,OFFSET函数中返回0;
MOD(ROW(A2)-1,3)等价于MOD(2-1,3)余数为1,OFFSET函数中返回1;
MOD(ROW(A3)-1,3)等价于MOD(3-1,3)余数为2,OFFSET函数中返回2;
MOD(ROW(A4)-1,3)等价于MOD(4-1,3)余数为0,OFFSET函数中返回0;
……
0,1,2三个⼀循环。
所以最终的公式为:
注意这⾥的相对引⽤与绝对引⽤(相对引⽤与绝对引⽤($在Excel中表⽰绝对引⽤,即拖拽公式,单元格引⽤位置不发⽣
变化,始终为A1单元格)
相对引⽤和绝对引⽤可以看下这篇⽂章:
注:这⾥需要转变的区域只有3列,如果有有N列的话,只需要将公式中的3换成N即可。
其它三种⾏列的转换⽅法都是通过OFFSET函数来实现,原理基本⼀致,通过研究⼀个案例来举⼀反三,才
能有所成长收获,快去试试吧~
觉得内容还不错的话,给我点个“在看”呀
本文发布于:2022-12-31 21:54:59,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/68060.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |