在Excel中,OFFSET函數(shù)的功能為以指定的引用為參照系,通過(guò)給定偏移量得到新的引用。返回的引用可以為一個(gè)單元格或單元格區(qū)域。并可以指定返回的行數(shù)或列數(shù)。
OFFSET函數(shù)語(yǔ)法
OFFSET(reference,rows,cols,height,width)
Reference 作為偏移量參照系的引用區(qū)域。Reference 必須為對(duì)單元格或相連單元格區(qū)域的引用;否則,函數(shù) OFFSET 返回錯(cuò)誤值 #VALUE!。
Rows 相對(duì)于偏移量參照系的左上角單元格,上(下)偏移的行數(shù)。如果使用 5 作為參數(shù) Rows,則說(shuō)明目標(biāo)引用區(qū)域的左上角單元格比 reference 低 5 行。行數(shù)可為正數(shù)(代表在起始引用的下方)或負(fù)數(shù)(代表在起始引用的上方)。
Cols 相對(duì)于偏移量參照系的左上角單元格,左(右)偏移的列數(shù)。如果使用 5 作為參數(shù) Cols,則說(shuō)明目標(biāo)引用區(qū)域的左上角的單元格比 reference 靠右 5 列。列數(shù)可為正數(shù)(代表在起始引用的右邊)或負(fù)數(shù)(代表在起始引用的左邊)。
Height 高度,即所要返回的引用區(qū)域的行數(shù)。Height 必須為正數(shù)。
Width 寬度,即所要返回的引用區(qū)域的列數(shù)。Width 必須為正數(shù)。
OFFSET函數(shù)說(shuō)明
如果行數(shù)和列數(shù)偏移量超出工作表邊緣,函數(shù) OFFSET 返回錯(cuò)誤值 #REF!。
如果省略 height 或 width,則假設(shè)其高度或?qū)挾扰c reference 相同。
函數(shù) OFFSET 實(shí)際上并不移動(dòng)任何單元格或更改選定區(qū)域,它只是返回一個(gè)引用。函數(shù) OFFSET 可用于任何需要將引用作為參數(shù)的函數(shù)。例如,公式 SUM(OFFSET(C2,1,2,3,1)) 將計(jì)算比單元格 C2 靠下 1 行并靠右 2 列的 3 行 1 列的區(qū)域的總值。
OFFSET函數(shù)示例
|
A |
B |
1 |
公式 |
說(shuō)明(結(jié)果) |
2 |
=OFFSET(C3,2,3,1,1) |
顯示單元格 F5 中的值 (0) |
3 |
=SUM(OFFSET(C3:E5,-1,0,3,3)) |
對(duì)數(shù)據(jù)區(qū)域 C2:E4 求和 (0) |
4 |
=OFFSET(C3:E5,0,-3,3,3) |
返回錯(cuò)誤值 #REF!,因?yàn)橐脜^(qū)域不在工作表中 |
在Excel中,Offset屬性應(yīng)用于下面兩個(gè)對(duì)象
應(yīng)用于 Range 對(duì)象的 Offset 屬性。
返回一個(gè) Range 對(duì)象,該對(duì)象代表某個(gè)指定區(qū)域以外的區(qū)域。只讀。
expression.Offset(RowOffset, ColumnOffset)
expression 必需。該表達(dá)式返回一個(gè) Range 對(duì)象。
RowOffset Variant 類型,可選。區(qū)域偏移的行數(shù)(正值、負(fù)值或 0(零))。正值表示向下偏移,負(fù)值表示向上偏移,默認(rèn)值為 0。
ColumnOffset Variant 類型,可選。區(qū)域偏移的列數(shù)(正值、負(fù)值或 0(零))。正值表示向右偏移,負(fù)值表示向左偏移,默認(rèn)值為 0。
應(yīng)用于 TickLabels 對(duì)象的 Offset 屬性。
返回或設(shè)置各級(jí)別標(biāo)簽之間的距離以及第一級(jí)標(biāo)簽與坐標(biāo)軸之間的距離。其默認(rèn)距離為百分之百,代表坐標(biāo)軸標(biāo)簽與坐標(biāo)軸之間的默認(rèn)距離。其值可以為從 0 到 1000 之間的一個(gè)整數(shù)百分比,表示相對(duì)于坐標(biāo)軸標(biāo)簽的字體大小。Long 類型,可讀寫。
expression.Offset
expression 必需。該表達(dá)式返回一個(gè) TickLabels 對(duì)象。
Offset 屬性示例
應(yīng)用于 Range 對(duì)象的示例。 本示例激活 Sheet1 上活動(dòng)單元格向右偏移三列、向下偏移三行處的單元格。
Worksheets("Sheet1").Activate
ActiveCell.Offset(rowOffset:=3, columnOffset:=3).Activate
本示例假定 Sheet1 中包含一個(gè)具有標(biāo)題行的表格。本示例先選定該表格,但并不選擇標(biāo)題行。運(yùn)行本示例之前,活動(dòng)單元格必須位于表格中。
Set tbl = ActiveCell.CurrentRegion
tbl.Offset(1, 0).Resize(tbl.Rows.Count - 1, tbl.Columns.Count).Select
應(yīng)用于 TickLabels 對(duì)象的示例。 如果偏移量小于 500,則本示例將 Chart1 中數(shù)值軸上標(biāo)簽之間的距離設(shè)置為當(dāng)前距離的兩倍。
With Charts("Chart1").Axes(xlValue).TickLabels
If .Offset < 500 then
.Offset = .Offset * 2
End If
End With