OFFSET函数

OFFSET函数返回从指定引用偏移后的引用。从一个引用开始,通过偏移一组行号和列号,返回指定大小的另一个引用。

什么情况下使用OFFSET函数?

OFFSET函数可以返回对单元格区域的引用,并且可以与其它函数结合使用。使用该函数可以:

·        找到所选月份的销售数量

·        汇总所选月份的销售

·        基于计数创建动态单元格区域

·        汇总最近n个月的销售

OFFSET函数的语法

OFFSET函数的语法如下:

OFFSET(reference,rows,cols,height,width)

l reference是相邻单元格的单元格或单元格区域

l rows可以是正数(在起始引用下面)或负数(在起始引用上方)

l cols可以是正数(在起始引用右侧)或负数(在起始引用左侧)

l height必须是正数,返回引用的行数

l width必须是正数,返回引用的列数

l 如果忽略height或width,那么使用起始引用的大小

OFFSET函数陷阱

OFFSET函数是易失的,因此如果在太多的单元格中使用的话会使工作簿变慢。相反,可以使用另一个函数,例如INDEX函数,来返回引用。

示例 1: 找到所选月份的销售数量

使用OFFSET函数,可以基于起始引用返回对单元格区域的引用。本例中,想要得到单元格G2中的销售数量:

起始单元格是单元格C1

在单元格F2中输入偏移的行数

列C中是销售数量,因此偏移的列数是0

高度是1行

宽度是1列

=OFFSET(C1,F2,0,1,1)

在单元格H2中有一个相似的OFFSET公式,用来返回月名。唯一的区别是列偏移量——使用1代替0。

=OFFSET(C1,F2,1,1,1)

注意:忽略参数height和width,因为我们希望的引用与起始引用有相同的大小。本例中我使用它们来展示所有参数如何工作。

示例2: 汇总所选月份的销售

本例中,OFFSET函数返回所选月份销售数量的引用,SUM函数返回该区域的总计。在单元格B10中,所选月份是3,因此结果是3月份的销售总额。

起始引用是A3:A6

行偏移量是0(可以忽略0,结果相同)

在单元格B10中输入列偏移量

忽略高度和宽度,因为最终引用的大小与起始引用相同

=SUM(OFFSET(A3:A6,0,B10))

示例3: 基于计数创建动态单元格区域

也可以使用OFFSET函数创建动态单元格区域。本例中,已经使用下面的公式创建了一个名称MonthsList:

=OFFSET(‘Ex03′!$C$1,0,0,COUNTA(‘Ex03′!$C:$C),1)

如果添加另一个月份到在列C的列表中,那么它将自动出现在单元格F2的数据有效性下拉列表中,该数据有效性列表使用MonthsList作为其数据源。

示例 4: 汇总最近n个月的销售

在最后的示例中,OFFSET函数与SUM函数和COUNT函数结合使用来显示最近n个月的合计。当添加新的数量时,公式将自动调整来包括最近的月份。在单元格E2中,月数是2,因此汇总August和September的销售额。

起始引用是单元格C2

通过统计列C中的数字来计算行偏移数,减去单元格E3中的数字,然后加1

列C中是数量,因此列偏移数是0

在单元格E3中输入高度

宽度是1列

=SUM(OFFSET(C2,COUNT(C:C)-E3+1,0,E3,1))

office办公软件入门基础教程 » OFFSET函数

本文链接:【OFFSET函数】https://www.officeapi.cn/87475.html

OFFICE,天天学一点,进步多一点

联系我们