怎样使用offset函数?
发布网友
发布时间:2022-04-22 12:12
我来回答
共2个回答
热心网友
时间:2023-10-08 22:04
直接举例子吧。
情况一,共3个参数的:
=OFFSET(某单元格或某单元格区域,x,y)
从某单元格或某单元格区域向下数x行向右数y列的那个单元格,举例
=OFFSET(B3,3,2)
为单元格D6(向下3行为6,向右2列为D)
情况二,共5个参数的:
=OFFSET(某单元格,x,y,m,n)
与前面一样,只是新的单元格区域的总行数变为m,总列数变为n(但最左上角单元格不变),举例:
=OFFSET(A2:B3,3,2,5,4)
返回C5:F9
热心网友
时间:2023-10-08 22:04
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