Offset函数是 Excel 中用于返回距指定单元格或单元格区指定行数和列数区域的引用;它共有五个参数,前三个为必选项,后两个为可选项;其中第一个参数为引用单元格或单元格区域;第二、三个参数分别为行数和列数,它们不能超过表格范围,否则会返回错误;另外,行数和列数还有正负之分,取值不同,引用区域也不同。Offset函数可与Sum函数、Match函数组合使用,例如与Sum函数组合求一片选定区域的和。以下就是 Excel Offset函数的使用方法及与Sum函数组合的具体操作实例,实例中操作所用版本均为 Excel 2016。
一、Excel Offset函数语法
1、表达式:OFFSET(Reference, Rows, Cols, [Height], [Width])
中文表达示:OFFSET(引用单元格, 行数, 列数, [返回引用高度], [返回引用宽度])
2、说明:
A、Reference 是对单元格或相邻单元格的引用,否则会返回 #VALUE 错误。
B、Rows 距引用单元格左右上角或下角的行数;当 Rows 为正数时,表示距引用单元格左下角的行数;当 Rows 为负时,表示距引用单元格左上角的行数;如果指定的 Rows 超出表格范围,将返回 #REF! 错误。
C、Cols 距引用单元格左边或右边的行数;当 Cols 为正时,表示距引用单元格右边的行数;当 Cols 为负时,表示距引用单元格左边的行数。如果指定的 Cols 超出表格范围,也返回 #REF! 错误。
D、Height 和 Width 为可选项,Height 表示返回引用的高度;Width 表示返回引用的宽度;当引用一个单元格时,Height 和 Width 都为1;当引用多个单元格时,Height 和 Width 可以都指定与引用单元格同样的高度和宽度,也可指定为大于引用单元格的高度和宽度。如果省略 Height 和 Width,将返回与引用单元格同等大小的区域。
二、Excel Offset函数的使用方法及实例
(一)引用一个单元格
1、返回引用单元格左下角的指定值
A、把公式 =OFFSET(D5,2,-2,1,1) 复制到 H2 单元格,按回车,则返回“黑色T恤”,操作过程步骤,如图1所示:
图1
B、公式说明:引用单元格为 D5;行数为 2,列数为 -2,高度和宽度都为 1,公式的意思是:返回 D5 左下角距 D5 2 行与两列的单元格的引用;符合 Rows 为正时,返回引用单元格左下角的值;Cols 为负时,返回引用单元格左边的值。返回一个单元格的值,把高度和宽度都设置为 1 或省略,否会发生错误。
2、返回引用单元格左上角的指定值
A、把上面公式 =OFFSET(D5,2,-2,1,1) 中的 2 改为 -2,就可以返回引用单元格左上角的指定值,操作过程步骤,如图2所示:
图2
B、说明:公式改为 =OFFSET(D5,-2,-2,1,1) 后,按回车,返回“长袖白衬衫”,正是 D5 左上角单元格的值,且距 D5 2 行 2 列。
3、返回引用单元格右下角的指定值
A、把上面公式 =OFFSET(D5,2,-2,1,1) 中的 -2 改为 2,则公式变为 =OFFSET(D5,2,2,1,1),如图3所示:
图3
B、按回车,返回 872,正是在 D5 右下角的值且距 D5 2 行 2 列,如图4所示:
图
(二)对多个单元格的引用并求和
1、把公式 =SUM(OFFSET(D5:E6,2,2,2,2)) 复制到 H2 单元格,按回车,返回结果 8021,操作过程步骤,如图5所示:
2、公式说明:
A、公式先用 OFFSET(D5:E6,2,2,2,2) 选定一片单元格区域,所选定的区域为在 D5:E6 右下角且距 D5:E6 左上角的顶点 2 行 2 列,也就是 F7:G8 这四个单元格,如图6所示:
图6
B、为什么是 F7:G8 这四个单元格?因为高度和宽度都为 2。选定单元格后,再用 Sum 求它们的和,所以结果为 8021。
3、把高度和宽度都改为 3,则公式变为 =SUM(OFFSET(D5:E6,2,2,3,3)),此时,OFFSET(D5:E6,2,2,3,3) 选中的单元格区域为 F7:H9,如图7所示:
图7
按回车,返回结果为 10546,如图8所示:
图8
由此可知:返回的高度和宽度不必与引用单元格 D5:E6 一致。
4、把高度和宽度都改为 -3,则公式变为 =SUM(OFFSET(D5:E6,2,2,-3,-3)),此时,OFFSET(D5:E6,2,2,-3,-3) 选中的单元格区域为 D5:F7,如图9所示:
图9
按回车,返回结果为 5398,如图10所示:
图10
由此可知:当高度和宽度都变为负数时,返回的单元格区域会向左移。