在Excel中,OFFSET函数的功能为以指定的引用为参照系,通过给定偏移量得到新的引用。返回的引用可以为一个单元格或单元格区域,并可以指定返回的行数或列数。OFFSET函数语法是OFFSET(reference,rows,cols,height,width)。函数OFFSET实际上并不移动任何单元格或更改选定区域,它只是返回一个引用。函数OFFSET可用于任何需要将引用作为参数的函数。例如,公式SUM(OFFSET(C2,1,2,3,1))将计算比单元格C2靠下1行并靠右2列的3行1列的区域的总值。
offset函数_Offset -汇编伪指令
mov寄存器,offset变量名,把变量名的地址传输到寄存器中去,在编译的时候完成。函数语法
offsetOFFSET(reference,rows,cols,height,width)
Reference作为偏移量参照系的引用区域。Reference必须为对单元格或相连单元格区域的引用;否则,函数OFFSET返回错误值#VALUE!。
Rows相对于偏移量参照系的左上角单元格,上(下)偏移的行数。如果使用5作为参数Rows,则说明目标引用区域的左上角单元格比reference低5行。行数可为正数(代表在起始引用的下方)或负数(代表在起始引用的上方)。
Cols相对于偏移量参照系的左上角单元格,左(右)偏移的列数。如果使用5作为参数Cols,则说明目标引用区域的左上角的单元格比reference靠5右列。列数可为正数(代表在起始引用的右边)或负数(代表在起始引用的左边)。
Height高度,即所要返回的引用区域的行数。Height必须为正数。
Width宽度,即所要返回的引用区域的列数。Width必须为正数。
offset在汇编中可以获得操作数的偏移地址。用法:
例如:平时invokeMessageBox,NULL,addrsztext,addrszcaption,MB_OK
当然前面已经定义过sztext和szcaption为字符串了
szcaptiondb'小例子',0
sztextdb'powerful!',0
此时invokeMessageBox,NULL,addrsztext,addrszcaption,MB_OK可以写为
pushMB_OK
pushoffsetszcaption
pushoffsetsztext
pushNULL
callMessageBox
这样看起来就更接近汇编语言习惯了,当然用invoke更简单点,这里只是为了说明offset用法。
offset函数_Offset -函数示例
?AB1公式说明(结果)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!,因为引用区域不在工作表中
offset函数_Offset -属性
在Excel中,Offset属性应用于下面两个对象
应用于Range对象的Offset属性。
返回一个Range对象,该对象代表某个指定区域以外的区域。只读。
expression.Offset(RowOffset,ColumnOffset)
expression必需。该表达式返回一个Range对象。
RowOffsetVariant类型,可选。区域偏移的行数(正值、负值或0(零))。正值表示向下偏移,负值表示向上偏移,默认值为0。
ColumnOffsetVariant类型,可选。区域偏移的列数(正值、负值或0(零))。正值表示向右偏移,负值表示向左偏移,默认值为0。
应用于TickLabels对象的Offset属性。
返回或设置各级别标签之间的距离以及第一级标签与坐标轴之间的距离。其默认距离为百分之百,代表坐标轴标签与坐标轴之间的默认距离。其值可以为从0到1000之间的一个整数百分比,表示相对于坐标轴标签的字体大小。Long类型,可读写。
expression.Offset
expression必需。该表达式返回一个TickLabels对象。
offset函数_Offset -属性示例
应用于 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
offset函数_Offset -jQuery用法
offset()
概述获取匹配元素在当前视口的相对偏移。返回的对象包含两个整形属性:top和left。此方法只对可见元素有效。
Getthecurrentoffsetofthefirstmatchedelementrelativetotheviewport.
ThereturnedobjectcontainstwoIntegerproperties,topandleft.Themethodworksonlywithvisibleelements.
返回值类型
Object{top,left}
示例
获取第二段的偏移HTML代码:
<p>Hello</p><p>2ndParagraph</p>
jQuery代码:
varp=$("p:last");
varoffset=p.offset();
p.html("left:"+offset.left+",top:"+offset.top);
结果:
<p>Hello</p><p>left:0,top:35</p>