乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > <em>excel</em>中,OFFSET函数的解释?-excel offset公式,offs

<em>excel</em>中,OFFSET函数的解释?-excel offset公式,offs

作者:乔山办公网日期:

返回目录:excel表格制作


ROW函数7a64e78988e69d83335,返回一个引用的行号。如果省略 reference,则假定是对函数 ROW 单元格的引用。在Excel中,OFFSET函数的功能为以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。

ROW函数:
  ROW函数,返回一个引用的行号。如果省略 reference,则假定是对函数 ROW 单元格的引用。
  ROW(reference)
  Reference 为需要得到其行号的单元格或单元格区域。
  如果省略 reference,则假定是对函数 ROW 所在单元格的引用。
  如果 reference 为一个单元格区域,并且函数 ROW 作为垂直数组输入,则函数 ROW 将 reference 的行号以垂直数组的形式返回。
  Reference 不能引用多个区域。
Offset函数:
  在Excel中,OFFSET函数的功能为以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。
  OFFSET(reference,rows,cols,height,width)
  Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值#VALUE!。
  Rows相对于偏移量参照系的左上角单元格,上(下)偏移的行数。如果使用 5 作为参数 Rows,则说明目标引用区域的左上角单元格比 reference 低 5 行。行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方)。
  Cols 相对于偏移量参照系的左上角单元格,左(右)偏移的列数。如果使用 5 作为参数 Cols,则说明目标引用区域的左上角的单元格比 reference 靠右 5 列。列数可为正数(代表在起始引用的右边)或负数(代表在起始引用的左边)。
  Height高度,即所要返回的引用区域的行数。Height 必须为正数。
  Width宽度,即所要返回的引用区域的列数。Width 必须为正数。
  offset 在汇编中可以获得操作数的偏移地址。用法:
  例如:平时invoke MessageBox,NULL,addr sztext,addr szcaption,MB_OK
  当然前面已经定义过sztext和szcaption为字符串了
  szcaption db '小例子',0
  sztext db 'powerful!',0
  此时 invoke MessageBox,NULL,addr sztext,addr szcaption,MB_OK可以写为
  push MB_OK
  push offset szcaption
  push offset sztext
  push NULL
  call MessageBox
  这样看起来就更接近汇编语言习惯了,当然用invoke更简单点,这里只是为了说明 offset用法。

offset函数,以指定的引用为参照系,通过给定偏移量得到新的引用,返回的引用可以是一个单元格或copy者单元格区域,并且可以返回指定的行数和列数。现在就实例学习一下此函数的具体用法。

以下为具体操作步骤:

  1. 首先打开一个工作表。选择需要使用函数的单元格。

  2. 在单元格中输入=offset。

  3. 点开函数参数框,输入相关参数。

  4. 如图输入的参数意思就是,以b5单元格为参照点,向下偏移一行,再向右偏移两列。取高度为1行,宽度为一列的区域。点击确定。

  5. 可以看到已经取到相应区域了。


给你分解一下吧。

我们就从最里面的函数说起

MATCH(A2,Sheet1!$B$1:$B$16,0)
从表1中B列的第一行到第16行查找与表2中A2的值一样的行号(返回的是一个数字,即行号)

INDIRECT("Sheet1!B"&MATCH(A2,Sheet1!$B$1:$B$16,0))
针对刚才的行号,在表1中的B列里找到该行号里的数据(其实就是对应的姓名)

OFFSET(INDIRECT("Sheet1!B"&MATCH(A2,Sheet1!$B$1:$B$16,0)),0,-1)
找到表1中B列中刚才的那行后,向左偏移一列,不移行,返回偏移后那列中同一行的数据(就是返回学号)

理解了吗?概括起来就是这样的步骤,先在表1中找到姓名所在列的行号,然后在同一行向左偏移一列,得到的就是学号。

再说说2楼的公

match(a2,sheet1!b:b,0)
从表1中B列查找与表2中A2的值一样的行号(返回的是一个数字,即行号)

index(sheet1!a:a,match(a2,sheet1!b:b,0))
找到表1中A列中刚才的那行的数据(就是返回学号)

该公式返回了一个区域,
一般动态生成数据有效性序列下拉菜单。

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网