详解OFFSET函数

OFFSET函数可以给我们提供了一个对单元格区域的引用,从给定的起始单元格开始,移动到给定的单元格并扩展给定的高度和宽度。

OFFSET函数的语法如下:

=OFFSET(起始单元格,移动的行数,移动的列数,高度,宽度)

其中:

  • 起始单元格:想要从哪个单元格或单元格区域开始偏移。

  • 移动的行数/列数:想要从起始单元格移动多少行/列,可以指定正值、负值或零。

  • 高度,宽度:想要返回的单元格区域大小。例如5,3将指定返回的单元格区域为5行3列。

此外,OFFSET函数的所有参数都可以引用其它单元格,也就是说,可以编写:

=OFFSET(B1,B2,B3,B4,B5)

引用的单元格是:以B1为起点,偏移B2中数字指定的行数和B3中数字指定的列数,返回B4中数字指定的行数和B5中数字指定的列数大小的单元格区域。

如下图1所示的示例,帮你理解OFFSET函数。

图1

为什么不直接输入对单元格区域的引用,而要使用OFFSET呢?有以下两个原因:

  • 如果直接输入对单元格区域的引用,例如A1:C5,那么这个引用是静态的。然而有时候,我们想要单元格区域是动态的,因为数据会不断发生变化,例如在新的行列中添加数据。

  • 有时候,我们不知道单元格区域的实际地址,只知道从某个单元格开始。

下图2所示是一个交互式工作簿,以帮助你了解OFFSET函数是如何工作的。当你输入所有5个参数时,工作簿会突出显示你的OFFSET函数给出的单元格区域。多试试,你就会更好地理解这个函数。

图2

示例

如下图3所示,列A中的数据是不断更新的,现在要求最后5个数字的平均值,可以使用公式:

=AVERAGE(OFFSET(A1,COUNTA(A1:A1000)-5,0,5,1))

图3

OFFSET的局限

虽然使用OFFSET函数的公式可以返回一个动态单元格区域,但它也有一些限制:

  • OFFSET函数是易失的:这意味着,只要你的工作簿中有任何更改,就会重新计算 OFFSET公式。如果工作簿不大,使用OFFSET公式不是问题。但是,当在大型工作簿中使用大量的OFFSET公式时,Excel会因为它而需要太多时间来重新计算。

  • 使用OFFSET函数的公式很难调试:因为引用是动态的,所以调试包含大量OFFSET函数的公式的工作簿会变得棘手。

注:本文学习整理自chandoo.org,供有兴趣的朋友参考。

(0)

相关推荐

  • 宏表函数get.cell获取单元格的信息

    你好,我是刘卓.欢迎来到我的公号,excel函数解析.今天要和你分享的是宏表函数get.cell的用法.它是一个返回单元格信息的函数,和cell函数很像. 宏表函数具有宏的功能,所以要保存为启用宏的工 ...

  • 【知识汇总】初中数学基础知识详解:反比例函数

    初中数学基础知识详解及基础典型例题分析  --<初中数学典型题思路分析>附赠之一  反比例函数 典型例题见源文档. <初中数学典型题思路分析>书, 已被多个机构选为教学用书! ...

  • VBA专题12:详解GetAttr函数

    excelperfect 有时候,你可能会发现了解正在与之交互的文件或文件路径的基本文件属性很有用.如果你读取文件内容后再将内容写回文件,那么知道原始文件是否为只读是重要的,在这种情况下,你的写入将失 ...

  • 实例详解SUBSTITUTE函数的常见用法

    SUBSTITUTE函数格式为: SUBSTITUTE(text,old_text,new_text,instance_num) text为需要替换其中字符的文本(或含有文本的的单元格的引用) old ...

  • 详解Python 函数如何重载?

    什么是函数重载?简单的理解,支持多个同名函数的定义,只是参数的个数或者类型不同,在调用的时候,解释器会根据参数的个数或者类型,调用相应的函数. 重载这个特性在很多语言中都有实现,比如 C++.Java ...

  • 详解RANK函数公式用法

    RANK(number,ref,[order]) 看着这个公式也不难,那我就稍微给各位可爱们讲解一下下好了.RANK函数的作用,就是返回某数字在一列数字中相对于其他数值的大小排名,number就是需要 ...

  • OFFSET与SUM和MATCH函数的配合详解

    OFFSET与SUM和MATCH函数的配合详解

  • OFFSET函数入门详解 与SUM和MATCH函数的配合

    郑广学Excel教程免费学offset用法:offset(起点,行偏移,列偏移,重设行数,重设列数)行偏移.列偏移可以为负数,即向上向左:sum+offsetoffset+match

  • VLOOKUP函数从入门到精通,15种用法详解。

    VLOOKUP函数从入门到精通,15种用法详解。

  • 多条件函数or用法详解,搭配IF函数功能很强大,你知道怎么用吗

    Excel中我们经常利用函数进行各类的数据处理,在数据处理的过程中,我们也经常会碰到各种条件数据的判断,今天我们就来学习一个特殊的函数组合:IF+OR函数的嵌套用法,看看函数嵌套功能有多强大. 一:O ...