常看我文章的朋友也许会记得,我仿佛讲过OFFSET函数,这个函数的特点同样是参数多,利用上十分的灵活,在后几篇文章中会陆续的和大伙分享一下这个函数的用法。把我多年的经验和大家分享。

首先我们先讲解一下这个函数;OFFEST函数是引用函数,表示引用某一个单元格或者区域。

语法OFFSET(reference, rows, cols, [height], [width]) 。

语法讲解:OFFSET(基点单元格,移动的行数,移动的列数,所要引用的高度,所要引用的宽度)

参数讲解:

Reference必需。要以其为偏移量的底数的引用。引用必须是对单元格或相邻的单元格区域的引用;否则OFFSET 返回错误值#VALUE!。

Rows 必需。需要左上角单元格引用的向上或向下行数。使用5作为 rows 参数,可指定引用中的左上角单元格为引用下方的 5 行。Rows 可为正数(这意味着在起始引用的下方)或负数(这意味着在起始引用的上方)。

Cols必需。需要结果的左上角单元格引用的从左到右的列数。使用 5 作为 cols 参数,可指定引用中的左上角单元格为引用右方的 5 列。Cols 可为正数(这意味着在起始引用的右侧)或负数(这意味着在起始引用的左侧)。

Height 可选。需要返回的引用的行高。

Width 可选。需要返回的引用的列宽。

注:有的资料上讲 height 和 with 参数必须是正数,但我的实测结果可以为负数,移动方向和rows和cols相同。

讲到这里会有很多人说,太难了,5个参数,怎么记住啊?又怎么用啊?不要急,我们慢慢的讲解它,你肯定会掌握的。

首先,第一个参数Reference是这个函数的基准点,其余的4个参数是要以它为基准的,我们姑且称之为光标位置1.

其次rows, cols,这两个参数是一组,表示把光标从位置1为起点,先向下移动rows个单元格,然后后再向右移动cols个单元格,得到了新的光标位置,称之为位置2。

最后是最后的一组参数[height], [width],这两个参数也是一组,代表以位置2为起点的[height]行,[width]的一个区域,

好了,下面我们以图表的形式再次说明一下上述5个参数的意义及这个引用函数的妙用:

offset函数返回什么(OFFSET引用函数讲解及两种返回值分析)(1)

上面的截图中,我们在C11中录入公式:'=OFFSET(E4,4,5,1,1)

这个公式的第一个参数E4单元格,是光标的起点,数字是1436,这是位置1,然后光标将开始移动,先向下移动,第二个参数是4,所以移动4个单元格,如截图中的蓝色虚线所示,到达E8的位置;再向右移动,第三个参数是5,所以移动5个单元格,到达J8的位置,值是8014。返回的参数1,1代表着1行1列的数即还是这个单元格J8,所以返回值是8014。

我们再看一个例子:

offset函数返回什么(OFFSET引用函数讲解及两种返回值分析)(2)

在上面的例子中,I11的单元格录入了以下的公式:'=SUM(OFFSET(E4,4,5,-2,2))

公式中OFFSET公式的的前部分和第一个例子相同,只不过后面的一组参数变成了(-2.2)

是什么意思呢?在第一个例子中讲到通过移动光标的位置到了J8这个单元格,(-2,2)这两个参数表示以J8为起点,向上两行,向右两列的区域,即截图中的粗实线框起来的区域,在前面的符号是SUM,就表示这个区域的求和。等同于SUM(J7:K8)。

从上面的两个例子可以看出,OFFEST函数可以返回单元格,也可以返回区域。

今日内容回向:

1 offset 函数的意义是什么?

2 offset 函数有几个参数?各是什么意义?

,