
Offset(Excel中的OFFSET函式)
Offset是Excel中的函式,在Excel中,OFFSET函式的功能为以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域。并可以指定返回的行数或列数。Reference 作为偏移量参照系的引用区域。Reference 必须为对单元格或相连单元格区域的引用;否则,函式 OFFSET 返回错误值#VALUE!。
基本介绍
- 软体名称:offset
- 开发商:Microsoft
- 软体平台:Excel
- 软体语言:彙编语言
- 属性:Excel函式
- 格式:mov 暂存器
彙编伪指令
格式: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 返回错误值 #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()
概述
获取匹配元素在当前视口的相对偏移。
返回的对象包含两个整形属性:top 和 left。此方法只对可见元素有效。
Get the current offset of the first matched element relative to the viewport.
The returned object contains two Integer properties, top and left. The method works only with visible elements.
当用于返回偏移时:
该方法返回第一个匹配元素的偏移坐标。它返回一个带有两个属性(以像素为单位的 top 和 left 位置)的对象。
该方法返回第一个匹配元素的偏移坐标。它返回一个带有两个属性(以像素为单位的 top 和 left 位置)的对象。
当用于设定偏移时:
该方法设定所有匹配元素的偏移坐标。
该方法设定所有匹配元素的偏移坐标。
返回值类型
Object{top,left}
示例
获取第二段的偏移
HTML 代码:
<p>Hello</p><p>2nd Paragraph</p>
jQuery 代码:
var p = $("p:last");
var offset = p.offset();
p.html( "left: " + offset.left + ", top: " + offset.top );
结果:
<p>Hello</p><p>left: 0, top: 35</p>
转载请注明出处海之美文 » Offset(Excel中的OFFSET函式)