一、语法结构
OFFSET函数的语法结构为:OFFSET(reference,rows,cols,height,width)
第一个参数reference是作为参照系的引用区域,reference 必须为对单元格或相连单元格区域的引用,其左上角单元格是偏移量的起始位置;
第二个参数rows是相对于引用参照系的左上角单元格要上(下)偏移的行数,该参数为正数代表向下偏移,为负数代表向上偏移;
第三个参数cols是相对于引用参照系的左上角单元格要左(右)偏移的列数,该参数为正数代表向右偏移,为负数代表向左偏移;
第四个参数是“高度”,即在目标位置取多少行。加了方括号表示这个参数是可选的,不写的话,默认是1。本例中我们设定为2,表示在相对于H10这个单元格偏移了1行、2列之后,取2行。
第五个参数是“宽度”,与第四个参数类似,表示在目标位置取多少列。同样是可选的,不写的时候默认值是1。本例我们设定为3,表示在相对于H10这个单元格偏移了1行、2列之后,取3列。
需要注意的是,第二到第五个参数是可以为负数的,正数表示向右或向下偏移,负数表示向左或向上偏移。所以上述第二、第三个参数中的1和2,分别表示相对于H10单元格向下偏移1行、向右偏移2列,第四、第五个参数中的2和3,分别表示在偏移后向下取2行、向右取3列。
案例1:以单个单元格为参照系,返回单个单元格引用
以下图工作表中的A2单元格为起始单元格,向下偏移4行,向右偏移4列,返回1行高1列宽的新单元格引用,将返回结果显示在G2单元格中。
![](/i/l/?n=22&i=blog/1585291/202211/1585291-20221102155137519-1449817494.png)
操作步骤:
选中G2单元格,在英文状态下输入公式:=OFFSET(A2,4,4,1,1),回车确认公式,可以得到新单元格引用E6中的内容“45”。
公式说明:
A2单元格向下偏移4行为A6单元格,A6单元格再向右偏移4列为E6单元格,再以E6单元格为基准返回一个1行1列的区域,该区域就是E6单元格本身,所以公式返回结果为E6单元格中的内容“45”。
案例2:以相连单元格区域为参照系,返回单元格区域引用
以下图工作表中的A2:B3单元格区域为参照系,向下偏移3行,再向右偏移3列,再向下向右返回2行高2列宽的新单元格区域引用,将新单元格区域引用内容显示在G2:H3单元格中。
![](/i/l/?n=22&i=blog/1585291/202211/1585291-20221102155228150-802432525.png)
操作步骤:
选中G2:H3单元格区域,输入公式:=OFFSET(A2:B3,3,3,2,2),同时按shift+ctrl+enter组合键,即可在G2:H3单元格区域返回对应的引用结果D5:E6单元格区域中的内容。
![](/i/l/?n=22&i=blog/1585291/202211/1585291-20221102155247683-479909531.png)
公式说明:
公式中的参照系为相连单元格区域A2:B3,偏移量的起始位置是A2:B3左上角的单元格A2,向下偏移3行为A5单元格,再向右偏移3列为D5单元格。以D5单元格为基准,返回一个2行高2列宽的单元格区域,得到的新引用区域就是D5:E6单元格。
注意事项:
因为公式返回的是单元格区域,是数组公式,所以公式输入完毕要同时按shift+ctrl+enter组合键确认公式。如果直接按enter键确认公式,会返回错误提示“#VALUE!”。
![](/i/l/?n=22&i=blog/1585291/202211/1585291-20221102155311426-1166249060.png)