一、OFFSET函数
作用:可以根据指定的起始引用,通过行、列偏移量以及可选的高度和宽度,动态地返回一个新的单元格引用或区域引用。
公式:=OFFSET(reference, rows, cols, [height], [width])
●reference 必需 起始位置,可以是单个单元格或一个区域引用。
●rows 必须 向下偏移的行数(正数表示向下,负数表示向上)。
●cols 必须 向右偏移的列数(正数表示向右,负数表示向左)。
●height 可选 返回区域的行数(必须为正数)。省略时,高度与 reference 相同。
●width 可选 返回区域的列数(必须为正数)。省略时,宽度与 reference 相同。
二、基本用法
示例1:偏移到单个单元格
公式:=OFFSET(A1, 2, 3)
从 A1 开始,向下移动 2 行,向右移动 3 列 → 到达 D3。
由于未指定 height 和 width,返回一个与 A1 大小相同的引用(即 D3 本身)。

示例2:返回一个区域(需配合sum函数使用)
公式:=SUM(OFFSET(B2, 1, 0, 2, 3))
结果:返回B3:D4区域的总和

示例3:负偏移(向左/向上)
公式:=OFFSET(E10, -2, -3)
从 E10 向上 2 行 → E8,向左 3 列 → B8。返回单元格 B8。

三、注意事项
1)工作表中的任何变化(打开、编辑、计算等)都会导致 OFFSET 重新计算。当大量使用时会拖慢工作簿性能。
2)如果偏移后的区域超出了工作表的行或列范围,函数返回 #REF! 错误。
3)height / width 必须为正 如果使用负数或零,将返回 #VALUE! 错误。
4)省略 height/width 新区域大小与 reference 一致。如果 reference 是多行多列区域,省略参数时返回相同行数列数的偏移区域。
【示例Excel文件链接地址】
【往期文章回顾】
Excel常用78个函数-3,4,5,6 COUNT,COUNTA,COUNTIF,COUNTIFS函数
Excel常用78个函数-12,13,14,15,16 AND,OR,NOT,TRUE,FALSE函数