前文提到,会offset函数是面试要求“EXCEL操作能力较强”这类岗位的加分项。文章发出后已经有人询问这个函数的用法,本来学习EXCEL函数是要循序渐进的,不应该开始就讲,但是为了真的能为大家的面试加分,今天就来说说offset函数的用法。
首先看offset函数语法:
OFFSET(reference, rows, cols, [height], [width])
再看EXCEL中给出的该函数解释:
以指定的引用为参考系,通过给定偏移量返回新的引用。
这个解释太过简单,估计很多人还没有理解,那我再把EXCEL中关于该函数的帮助文件(学习EXCEL很好的一个途径,就是查阅帮助文件!)放出来,见下图:
看完了帮助文件,应该都有了大致的了解,下面咱们开始实操!offset函数和其他函数一样,都有语法和解释,但是offset和其他函数不一样的地方在于:不通过实操即使你把
语法
和解释都
背会了都没用,因
为只有通过实才能发现offset的应
用场景,而 善于发现函数的应用场景(解决问题的思路) 才是最重要的!见下图:
上图的练习算是热身,帮助大家理解offset函数语法含义的,接下来才进入到应用场景。
1、 对前**名的数据名单进行公示
相信大家都会网络购物,应该碰到过商家类似的宣传:活动开始后前**名支付的订单额外赠送**
说点题外话:在2016年之前,这类的活动还基本都是真的(活动结束后,商家会公布名单),你去抢的话,如果抢到了,商家会兑现承诺的;2016年后,这类的活动则基本都是假的了,因为你无法自己证明你是多少名,名单掌握在商家手中,是否公布?如何公布?都是商家说的算了,所以这类的活动就不要参加了,那种前**分钟有优惠的才是可以参加的,因为你有支付成交时间,商家抵赖不了。
好了,回到正题,见下图:
上图的左侧是系统中导出的含有用户ID和支付时间的数据源,并对数据源进行了初步加工(隐藏用户ID中间的字符,加上支付时间),最终要实现的效果是上图的右侧部分,即这个问题的理论表述是: 如何把单列数据转成多列?
大家注意观察,上图的右侧部分不仅仅是把单列数据转成了多列,还把原来竖向的排序方式变成了横向
的排序,这样做的目的当然是照顾用
户的阅读习惯
(以用户思维设计数据分析产品,是一个数据分析从业者的职业素养)。
如何把单列数据转成多列?能难倒一大批人,当然你非要一个个复制过来另当别论,但是学会了offset函数,这个问题可以说在分分钟内就可以解决!
我们看最终写好的offset函数(上图中G2单元格位置):
=OFFSET($D$1,COLUMN(A1)+6*(ROW(A1)-1),0,1,1)
这里额外用到了两个函数:column(主要作用是返回当前单元格在第几列,比如COL UMN(A1)返回的
数字就是1)、row(主要作用是返回当前单元格在第几行,比如ROW( A1)返回的数字就是1)。此外还用到了单元格绝对引用知识点,即$D$1,在列或者行前面加上$符号,表示把列或者行固定住了,当拖动公式时相应的地方会保持不动,这里把D1的列和行都加上了$,是因为我们的函数写好后既要向右拖、又要向下拖,而我们的目是在不管怎么拖,都要保证offset函数的参考系不动。
对函数中的COLUMN(A1)+6*(ROW(A1)-1)需要解释下,他的功能就是当向右拖动函数时,把原来的竖向排列变成横向的,当函数向下拖动时,就每隔6行(因为之前的单列数据现在被我们变成了6列数据)开始取数据。COLUMN(A1)+6*(ROW(A1)-1)其实是用了 等差数列知识点 。
有没有人对“不用函数就解决单列数据转多列”感兴趣?不管有没有,”数据分析小哥哥”额外赠送一段,请看下图:
具体步骤:
(1) 在G2单元格输入D2,然后向右拖动鼠标到L2,你会发现后面依次变成了D3、D 4、 (7)
(2) 回到G2,向下拖动鼠标到G3,你会发现G3位置上是D3,这时手动给它改成D8,然后继续向右拖动鼠标到L3,后面会依次变成D9、D10、 (13)
rows函数的使用方法及实例(3) 同时选中G2到L3,然后向下拖动鼠标,做出上图的右侧部分效果来;
(4) 见证奇迹的时候到了:你按下CTRL+H,调出查替换对话框,在“查内容”那里输入D,在“替换为”那里输入=D,然后点“全部替换”,发生什么了?我的天呐!这么神奇吗?!!!(此处应有掌声,哦,不对,是转发和点赞)
2、 快速查询**业务员**月的销售业绩
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论