作者表格学院:赵建军

今天在我们的星球会员群里面吵疯了,为什么我用OFFSET写出来的函数结果不是我想要的呢?

各路神仙齐上阵,各种解释,可是没有哪个有说服力,废话不说直接上图:

offset函数的使用方法(三件套之:OFFSET函数一次性搞明白)(1)

offset函数的使用结果,我们的学员理解应该等于234,没有按照他所预想的偏移一列输出结果。

说实在的也难为我们的学员了,下面简单介绍一下我对OFFSET函数认识。

它是一个指路函数,也可以叫做导航仪,

一共5个参数:offset(自身原点(0,0),偏移行,偏移列,区域高度,区域宽度)

第一个参数:就是立足点,也就是你想从哪儿开始;

第二个参数:就是开始偏移行,本身立足点是0行0列,

第三个参数:就是开始偏移列,本身立足点是0行0列

第四个参数:是你要找区域的高度,1就表示一行,2就表示2行

第五个参数:是你要找的区域的宽度,1就表示1列,2就表示2列

比如说,你的最后两个参数分别是2和3,那么你要找的是2x3的单元格区域,表示的不是一个值,是一片区域!

这时候你的这个公式有两种用法,

一种是直接数组用法,你直接选中要输出的区域,按ctrl shift enter,直接输出数组公式,出现结果就好了。

一种是普通公式用法,这种用法比较容易出错,或者说出现自己难于理解的结果,今天争论的焦点就在这儿。

而如果是1和1的话就是一个单元格,一个单元格时最小区域单位。这个基本不会出错

理解这个函数之后,再找自己公式里面返回数据的问题的时候就方便不少。

返回头来看上面图片反馈这个问题:

offset函数的使用方法(三件套之:OFFSET函数一次性搞明白)(2)

上图中我们的学员想返回的是第一个数据‘234’,结果出现的是第二个数据‘213’,觉得我的公式没错啊,为什么出现的结果有问题呢?

这里解惑:offset($B$3,$K$2,1,1,7)这个公式中$K$2=1,表示的是,以B3单元格为基准点,向下偏移一行,偏移一列的区域为1行7列的数据;这里大家都理解,没有问题,但是问题出现在,为什么写在D列单元格数据返回有问题?

excel在我们不使用数组公式的时候,它的偏移列,按照原点来的,所以,当你是C列写公式的时候默认相对B列偏移1列,在你的数据中输出第一个数,当你是D列的时候,默认相对B列偏移2列,所以输出第二个数据。

或许大家最主要的疑问在明明写的是偏移1列,这里告诉你,你的偏移只限定的是你的数据区域,并没有在普通公式中输出限定偏移列数,OFFSET函数在普通公式中偏移列数,是根据默认原点位置来的!这是根儿哈!

归结起来,提醒大家,虽然offset函数能够用做普通函数的用法,但是建议还是用他的数组用法,以免自己难于控制结果。

over!

offset函数的使用方法(三件套之:OFFSET函数一次性搞明白)(3)

领取课程请直接联系我

,