在Excel中,OFFSET函數(shù)的功能為以指定的引用為參照系,通過給定偏移量得到新的引用。返回的引用可以為一個單元格或單元格區(qū)域。并可以指定返回的行數(shù)或列數(shù)。
OFFSET函數(shù)語法
OFFSET(reference,rows,cols,height,width)
Reference 作為偏移量參照系的引用區(qū)域。Reference 必須為對單元格或相連單元格區(qū)域的引用;否則,函數(shù) OFFSET 返回錯誤值 #VALUE!。
Rows 相對于偏移量參照系的左上角單元格,上(下)偏移的行數(shù)。如果使用 5 作為參數(shù) Rows,則說明目標引用區(qū)域的左上角單元格比 reference 低 5 行。行數(shù)可為正數(shù)(代表在起始引用的下方)或負數(shù)(代表在起始引用的上方)。
Cols 相對于偏移量參照系的左上角單元格,左(右)偏移的列數(shù)。如果使用 5 作為參數(shù) Cols,則說明目標引用區(qū)域的左上角的單元格比 reference 靠右 5 列。列數(shù)可為正數(shù)(代表在起始引用的右邊)或負數(shù)(代表在起始引用的左邊)。
Height 高度,即所要返回的引用區(qū)域的行數(shù)。Height 必須為正數(shù)。
Width 寬度,即所要返回的引用區(qū)域的列數(shù)。Width 必須為正數(shù)。
OFFSET函數(shù)說明
如果行數(shù)和列數(shù)偏移量超出工作表邊緣,函數(shù) OFFSET 返回錯誤值 #REF!。
如果省略 height 或 width,則假設其高度或?qū)挾扰c reference 相同。
函數(shù) OFFSET 實際上并不移動任何單元格或更改選定區(qū)域,它只是返回一個引用。函數(shù) OFFSET 可用于任何需要將引用作為參數(shù)的函數(shù)。例如,公式 SUM(OFFSET(C2,1,2,3,1)) 將計算比單元格 C2 靠下 1 行并靠右 2 列的 3 行 1 列的區(qū)域的總值。
OFFSET函數(shù)示例
|
A |
B |
1 |
公式 |
說明(結(jié)果) |
2 |
=OFFSET(C3,2,3,1,1) |
顯示單元格 F5 中的值 (0) |
3 |
=SUM(OFFSET(C3:E5,-1,0,3,3)) |
對數(shù)據(jù)區(qū)域 C2:E4 求和 (0) |
4 |
=OFFSET(C3:E5,0,-3,3,3) |
返回錯誤值 #REF!,因為引用區(qū)域不在工作表中 |
在Excel中,Offset屬性應用于下面兩個對象
應用于 Range 對象的 Offset 屬性。
返回一個 Range 對象,該對象代表某個指定區(qū)域以外的區(qū)域。只讀。
expression.Offset(RowOffset, ColumnOffset)
expression 必需。該表達式返回一個 Range 對象。
RowOffset Variant 類型,可選。區(qū)域偏移的行數(shù)(正值、負值或 0(零))。正值表示向下偏移,負值表示向上偏移,默認值為 0。
ColumnOffset Variant 類型,可選。區(qū)域偏移的列數(shù)(正值、負值或 0(零))。正值表示向右偏移,負值表示向左偏移,默認值為 0。
應用于 TickLabels 對象的 Offset 屬性。
返回或設置各級別標簽之間的距離以及第一級標簽與坐標軸之間的距離。其默認距離為百分之百,代表坐標軸標簽與坐標軸之間的默認距離。其值可以為從 0 到 1000 之間的一個整數(shù)百分比,表示相對于坐標軸標簽的字體大小。Long 類型,可讀寫。
expression.Offset
expression 必需。該表達式返回一個 TickLabels 對象。
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 中數(shù)值軸上標簽之間的距離設置為當前距離的兩倍。
With Charts("Chart1").Axes(xlValue).TickLabels
If .Offset < 500 then
.Offset = .Offset * 2
End If
End With