请输入您要查询的百科知识:

 

词条 Offset
释义

在Excel中,OFFSET函数的功能为以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。

汇编伪指令

mov 寄存器,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

当然前面已经定义过zstext和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 返回错误值 #REF!。

如果省略 height 或 width,则假设其高度或宽度与 reference 相同。

函数 OFFSET 实际上并不移动任何单元格或更改选定区域,它只是返回一个引用。函数 OFFSET 可用于任何需要将引用作为参数的函数。例如,公式 SUM(OFFSET(C2,1,2,3,1)) 将计算比单元格 C2 靠下 1 行并靠右 2 列的 3 行 1 列的区域的总值。

函数示例

 A B

1 公式 说明(结果)

2 =OFFSET(C3,2,3,1,1) 显示单元格 F5 中的值 (0)

3 =SUM(OFFSET(C3:E5,-1,0,3,3)) 对数据区域 C2:E4 求和 (0)

4 =OFFSET(C3:E5,0,-3,3,3) 返回错误值 #REF!,因为引用区域不在工作表中

属性

在Excel中,Offset属性应用于下面两个对象

应用于 Range 对象的 Offset 属性。

返回一个 Range 对象,该对象代表某个指定区域以外的区域。只读。

expression.Offset(RowOffset, ColumnOffset)

expression 必需。该表达式返回一个 Range 对象。

RowOffset Variant 类型,可选。区域偏移的行数(正值、负值或 0(零))。正值表示向下偏移,负值表示向上偏移,默认值为 0。

ColumnOffset Variant 类型,可选。区域偏移的列数(正值、负值或 0(零))。正值表示向右偏移,负值表示向左偏移,默认值为 0。

应用于 TickLabels 对象的 Offset 属性。

返回或设置各级别标签之间的距离以及第一级标签与坐标轴之间的距离。其默认距离为百分之百,代表坐标轴标签与坐标轴之间的默认距离。其值可以为从 0 到 1000 之间的一个整数百分比,表示相对于坐标轴标签的字体大小。Long 类型,可读写。

expression.Offset

expression 必需。该表达式返回一个 TickLabels 对象。

属性示例

应用于 Range 对象的示例。

本示例激活 Sheet1 上活动单元格向右偏移三列、向下偏移三行处的单元格。

Worksheets("Sheet1").Activate

ActiveCell.Offset(rowOffset:=3, columnOffset:=3).Activate

本示例假定 Sheet1 中包含一个具有标题行的表格。本示例先选定该表格,但并不选择标题行。运行本示例之前,活动单元格必须位于表格中。

Set tbl = ActiveCell.CurrentRegion

tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, tbl.Columns.Count).Select

应用于 TickLabels 对象的示例。

如果偏移量小于 500,则本示例将 Chart1 中数值轴上标签之间的距离设置为当前距离的两倍。

With Charts("Chart1").Axes(xlValue).TickLabels

If .Offset < 500 then

.Offset = .Offset * 2

End If

End With

随便看

 

百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。

 

Copyright © 2004-2023 Cnenc.net All Rights Reserved
更新时间:2024/12/24 7:42:42