Offset个人资料
Offset是Excel中的函数,在Excel中,OFFSET函数的功能为以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函数 OFFSET 返回错误值#VALUE!。
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 可以为负,-x表示当前行向上的x行。
Width宽度,即所要返回的引用区域的列数。Width 可以为负,-x表示当前行向左的x行。
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函数说明
如果行数和列数偏移量超出工作表边缘,函数 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 中数值轴上标签之间的距离设置为当前距离的两倍。
WithCharts("Chart1").Axes(xlValue).TickLabels
If.Offset < 500 then
.Offset = .Offset * 2
End If
End With
jQuery用法
本文标签属性:
Offset:Offset