目錄
Toggle介紹INDIRECT 函數
在Excel 中,INDIRECT 函數是一個非常強大且靈活的工具,它可以用來動態地引用儲存格或範圍。這意味著你可以根據公式或參數的變化來改變引用的範圍。
基礎語法
INDIRECT 函數的基本語法如下:
INDIRECT(ref_text, [a1])
其中:
- ref_text:這是指引用的儲存格地址。它應該是文字格式,可以是絕對地址(例如 “A1″)或相對地址(例如 “A” & B1,其中B1是變動的行數)。
- a1:這是一個可選參數。默認為 TRUE,表示 ref_text 是A1 格式的地址。如果設定為 FALSE,表示 ref_text 使用的是 R1C1 格式。
範例演示
考慮以下範例:
INDIRECT("A1")
這個函數會返回儲存格 A1 的值。
INDIRECT("B" & A1)
假設 A1 儲存的是數字 3,這表示會引用儲存格 B3 的值。
應用範例
動態引用表格中的儲存格
假設你有一個表格,其中儲存格內容根據某些條件會動態更新。例如,你想要根據用戶輸入的行號來取得某列的值:
=INDIRECT("B" & D1)
在此例中,假設 D1 儲存的是行號3,這將引用並返回儲存格 B3 的值。
跨工作表引用
INDIRECT 函數也可以用來跨工作表引用。例如,你想從名為 “Sheet2” 的工作表中引用 A1 儲存格:
=INDIRECT("Sheet2!A1")
這將引用 Sheet2 中的 A1 儲存格。
動態範圍引用
你可以利用 INDIRECT 配合其他函數來創建動態範圍引用。例如,假設你有一個起始行號和結束行號,並想引用這兩行之間所有儲存格的總和:
=SUM(INDIRECT("A" & E1 & ":A" & E2))
其中 E1 儲存起始行號,E2 儲存結束行號。
注意事項
使用 INDIRECT 函數時,需要注意以下幾點:
- 因為它會動態解析文字為儲存格引用,因此性能可能會受到較大數據集的影響。
- 基於公式的動態引用如果參數不正確,可能會導致錯誤。例如,無法引用到不存在的儲存格。
- INDIRECT 是一個 Volatile 函數,這意味著每次工作表重算時它都會重新計算,這可能會導致性能問題。
總結
INDIRECT 函數是一個強大且靈活的工具,能夠根據公式或參數的變化動態地引用儲存格或範圍。儘管需要小心應對其帶來的性能問題,但在某些場景下,使用 INDIRECT 函數可以極大地提高工作效率並提供更多的函數靈活性。