開心生活站

位置:首頁 > IT科技 > 

Excel中indirect函數的使用方法

IT科技2.21W
Excel有很多的函數方便大家經行操作,下列講述了 Excel 中indirect函數的幾種使用方法,希望能對大家有所幫助。

Excel中indirect函數的使用方法

材料/工具

Excel;indirect函數

方法

第一種作用:創建固定的數值組
在一些公式中,需要一組數值,比如圖示中,我們想求列B中最大的3個數值的平均值。在公式中,可以輸入數值,如單元格D4中所示:
=AVERAGE(LARGE(B1:B8,{1,2,3}))
如果需要更多的一組數值,那麼可能不想輸入這些數值。此時,可以使用ROW函數,如在單元格D5中使用的數組公式:
=AVERAGE(LARGE(B1:B8,ROW(1:3)))
還可以將ROW函數和INDIRECT函數聯合使用,也是數組公式:
=AVERAGE(LARGE(B1:B8,ROW(INDIRECT(“1:3″))))
上述3個公式的結果相同。

Excel中indirect函數的使用方法 第2張

然而,如果在工作表的頂部插入行,第二個公式返回不正確的結果,因爲行數被調整了。現在,顯示了第3、第4、第5個最大數值的平均值,而不是求最大的3個數值的平均值。
使用INDIRECT函數,第3個公式保持正確的行引用,並繼續顯示正確的結果。

Excel中indirect函數的使用方法 第3張

第二種作用:從工作表、行、列信息創建引用
在INDIRECT函數中使用FALSE作爲第二個參數容易創建基於行號和列號的引用。在本例中,創建R1C1樣式的引用,還包括了工作表名 — ‘MyLinks’!R2C2。
=INDIRECT(“’” & B3 & “’!R” & C3 & “C” & D3,FALSE)

Excel中indirect函數的使用方法 第4張

第三種作用:創建對靜態命名區域的引用
INDIRECT函數也可以創建對命名區域的引用。在本例中,藍色單元格區域被命名爲NumList,在列B中也有一個基於該列的數值數的動態區域。
通過在SUM函數中使用區域名稱,每個單元格都能夠計算總和,正如在單元格E3和E4中所看到的。
=SUM(NumList) 或 =SUM(NumListDyn)

Excel中indirect函數的使用方法 第5張

代替在SUM公式中輸入名稱,可以指向工作表單元格區域名稱。例如,使用在單元格D7中顯示的名稱NumList,單元格E7中的公式是:
=SUM(INDIRECT(D7))
不巧的是,INDIRECT函數不能夠解決對動態區域的引用,因此當公式向下複製到單元格E8中時,結果顯示#REF!錯誤。

Excel中indirect函數的使用方法 第6張

第四種作用:創建開始部分固定的引用
在第一個示例中,列C和列E有相同的數字,使用SUM函數求得的和也是相同的。然而,所使用的公式稍微有點不同。在單元格C8中,公式爲:
=SUM(C2:C7)
在單元格E8中,INDIRECT函數創建對開始單元格E2的引用:
=SUM(INDIRECT(“E2″):E7)

Excel中indirect函數的使用方法 第7張

如果在列表的頂部插入一行,例如輸入January的數量,列C中的和不會改變,但公式發生了變化,根據被插入的行進行了調整:
=SUM(C3:C8)
然而,INDIRECT函數鎖定開始單元格爲E2,因此January的數量被自動包括在E列的彙總單元格中。結束單元格改變,但是開始單元格沒有受影響。
=SUM(INDIRECT(“E2″):E8)

Excel中indirect函數的使用方法 第8張
標籤:INDIRECT excel 函數