OFFSET函数可以给我们提供了一个对单元格区域的引用,从给定的起始单元格开始,移动到给定的单元格并扩展给定的高度和宽度。
OFFSET函数的语法如下:
=OFFSET(起始单元格,移动的行数,移动的列数,高度,宽度)
其中:
此外,OFFSET函数的所有参数都可以引用其它单元格,也就是说,可以编写:
=OFFSET(B1,B2,B3,B4,B5)
引用的单元格是:以B1为起点,偏移B2中数字指定的行数和B3中数字指定的列数,返回B4中数字指定的行数和B5中数字指定的列数大小的单元格区域。
如下图1所示的示例,帮你理解OFFSET函数。
图1
为什么不直接输入对单元格区域的引用,而要使用OFFSET呢?有以下两个原因:
下图2所示是一个交互式工作簿,以帮助你了解OFFSET函数是如何工作的。当你输入所有5个参数时,工作簿会突出显示你的OFFSET函数给出的单元格区域。多试试,你就会更好地理解这个函数。
图2
示例
如下图3所示,列A中的数据是不断更新的,现在要求最后5个数字的平均值,可以使用公式:
=AVERAGE(OFFSET(A1,COUNTA(A1:A1000)-5,0,5,1))
图3
OFFSET的局限
虽然使用OFFSET函数的公式可以返回一个动态单元格区域,但它也有一些限制:
注:本文学习整理自chandoo.org,供有兴趣的朋友参考。