|Excel|OFFSET函数用法总结


函数综述
功能:
以某一个单元格或区域为基准 , 偏移指定的行列后 , 返回引用的单元格或单元格区域 。
语法:
OFFSET(reference,rows,cols, [height], [width])
中文语法:
OFFSET(基准单元格或区域,偏移行数,偏移列数,[引用区域行高],[引用区域列宽])

  • 引用 必需 。要以其为偏移量的基准单元格或区域 。必须是单元格或相邻的单元格区域;否则OFFSET 返回 错误值 #VALUE! 。
  • Rows 必需 。需要向上偏移或向下偏移的行数 。 Rows 可为正数(向下偏移)或负数(向上偏移) 。
  • Cols 必需 。需要向左偏移或向右偏移的列数 。 Cols 可为正数(向右偏移)或负数(向左偏移) 。
  • 高度 可选 。需要返回的引用的行高 。
  • 宽度 可选 。需要返回的引用的列宽 。
图示说明:
|Excel|OFFSET函数用法总结
本文插图

使用示例
以单元格为基准 , 偏移到单元格
由单元格偏移到其他单元格 , 可以省略第四和第五个函数 , 公式为:
OFFSET(reference,rows,cols)
如下图:
|Excel|OFFSET函数用法总结
本文插图

由D5偏移到四面八方的8个单元格的公式为:
往下走 , 只跨行 , D5→D9:=OFFSET(D5,4,0)
往上走 , 只跨行 , D5→D1:=OFFSET(D5,-4,0)
往右走 , 只跨列 , D5→G9:=OFFSET(D5,0,3)
往左走 , 只跨列 , D5→A5:=OFFSET(D5,0,-3)
往左上走 , 跨行跨列 , D5→A1:=OFFSET(D5,-4,-3)
往右上走 , 跨行跨列 , D5→G1:=OFFSET(D5,-4,3)
往左下走 , 跨行跨列 , D5→A9:=OFFSET(D5,4,-3)
往右下走 , 跨行跨列 , D5→G9:=OFFSET(D5,4,3)
以单元格为基准 , 偏移到行或列
如下图:
|Excel|OFFSET函数用法总结
本文插图

D5→G4:G7 :
=OFFSET(D5,-1,3,4,1) 或 =OFFSET(D5,2,3,-4,1)
D5→C9:G9 :
=OFFSET(D5,4,-1,1,5) 或 =OFFSET(D5,4,3,1,-5)
D5→A3:A8 :
=OFFSET(D5,-2,-3,6,1) 或=OFFSET(D5,3,-3,-6,1)
D5→B1:E1 :
=OFFSET(D5,-4,-2,1,4) 或 =OFFSET(D5,-4,1,1,-4)
之所以有四个公式 , 是因为:从基准单元格可以偏移到行或者列的两头任一单元格 , 然后再考虑行高或者列宽 。
以单元格为基准 , 偏移到区域
如下图:
|Excel|OFFSET函数用法总结
本文插图

D5→F4:G7 :
=OFFSET(D5,-1,2,4,2) 或 =OFFSET(D5,-1,3,4,-2)
=OFFSET(D5,2,2,-4,2) 或 =OFFSET(D5,2,3,-4,-2)
D5→A1:B6 :
=OFFSET(D5,-4,-3,6,2) 或 =OFFSET(D5,-4,-2,6,-2)
=OFFSET(D5,1,-3,-6,2) 或 =OFFSET(D5,1,-2,-6,-2)
之所以有四个公式 , 是因为:从基准单元格可以偏移到区域四个角上的单元格 , 然后再考虑区域大小 。
以区域为基准 , 偏移到区域
如下图:
|Excel|OFFSET函数用法总结
本文插图

B2:C6→E3:G9 :
=OFFSET(B2:C6,1,3,7,3) 或 =OFFSET(B2:C6,1,5,7,-3)
=OFFSET(B2:C6,7,3,-7,3) 或 =OFFSET(B2:C6,7,5,-7,-3)
B8:D9→E3:G9 :
=OFFSET(B8:D9,-5,3,7,3) 或 =OFFSET(B8:D9,-5,5,7,-3)
=OFFSET(B8:D9,1,3,-7,3)或 =OFFSET(B8:D9,1,5,-7,-3)
我们可以看到:
【|Excel|OFFSET函数用法总结】从基准区域偏移到某区域 , 其实都是从基准区域的左上角第一个单元格为基准开始偏移 。


    推荐阅读