关于excel 中offset函数用法,卢子老师还是用他一贯的讲故事的手法来为大家分享offset函数的使用场景。
Offset之今朝访友
今朝有三个朋友:无言、安安、胖纸,朋友间就得互相来往。每个朋友的距离都挺远,今朝住在潮州,无言离今朝最近,在汕头那边,安安次之在深圳,胖纸最远在东莞。同属广东,坐车半天内都能到。
假如Offset就是今朝的车,要如何去到每个朋友哪里?
有人说过Offset会轻功,那速度当然不比车子慢。先来看看语法:OFFSET(起点,偏移行,偏移列,行高,列宽)
注:行高、列宽为可选参数。
今朝要去无言那边,只需向右坐2站就到:=OFFSET(A1,0,2)
如果要去安安那边,只需向下坐5站才能到:=OFFSET(A1,5,0)
去胖纸那边就稍微麻烦点,要向下坐6站,再向右坐1站才能到:=OFFSET(A1,6,1)
看到这里大概知道Offset是干嘛用的,如果偏移的行为正数就是向下偏移,偏移的列为正数就是向右偏移。相反,如果偏移的行为负数就是向上偏移,偏移的列为负数就是向左偏移。
假如今朝现在在胖纸家,想要回到自己的家。就得向上坐6站,就是-6,向左坐1站,也就是-1,公式为:=OFFSET(A1,-6,-1)
既然知道怎么去,就得知道怎么回,今朝还不至于路痴到忘记回来的路。
安安跟胖纸离得很近,今朝想知道她们两家合并的范围有多大,也就是深圳跟东莞的范围。今朝就得先到安安这里,然后将这里的行高设置为2,列宽设置为2,这样就知道这两地的范围。公式:=OFFSET(A1,5,0,2,2)
但这个只是划分个范围,没有统计,统计可以用COUNTA,得到这两地的范围为4。公式:=COUNTA(OFFSET(A1,5,0,2,2))
Offset可以做各种偏移,所以常用于数据的变形,如将一列的数据转换成多行多列。这种题目只要找到规律其实很简单。C列就是偏移1-4的对应值,D列就是偏移5-8的对应值,E列就是偏移9-12的对应值。也就是说往右一列就加4。行列号可以通过ROW跟COLUMN获取,所以可以将公式设置为:=OFFSET($A$1,ROW(A1)+(COLUMN(A1)-1)*4,0)
思考题:又如何将多行多列转换成一列?欢迎加入Excel软件学习QQ群:28246933,和老师同学一起畅聊excel。