本篇介紹如何使用 Excel 的 INDIRECT
函數製作動態參照的表格,隨著資料自動產生對應的儲存格參照。
INDIRECT
函數用法INDIRECT
這個函數可以依據文字所指定的儲存格位置,取得該儲存格的內容,其語法如下:
=INDIRECT(文字位置)
其中的文字位置就是一般我們所使用的儲存格位置,只不過要以文字的方式表示,例如放入 "A3"
這個文字的話,INDIRECT
函數就會傳回 A3
儲存格內的值。
當然在實務上,我們並不會直接將普通的文字位置放在 INDIRECT
函數中使用(如果要這樣寫的話,不如直接寫 A3
這樣的參照就好了),而是讓 INDIRECT
從其他的地方取得文字的儲存格位置,然後再去把對應位置的資料取出來。
以下是一個簡單的範例,我們讓使用者輸入「儲存格位置」,然後再使用 INDIRECT
函數將該位置的內容取出來:
=INDIRECT(C2)
INDIRECT
也可以取用不同工作表的資料,只要在位置的指定時,使用含有工作表的位置即可,語法如下:
工作表!儲存格位置
假設我們的工作表2
的表格如下:
若要取用工作表2
的資料,只要改動「儲存格位置」即可,而原本的 INDIRECT
的公式內容維持不變:
如果是不同的 Excel 檔案,也是可以直接靠著 INDIRECT
取得資料,含有 Excel 檔案的位置語法如下:
[檔案名稱]工作表!儲存格位置
假設我們有另外一個 Excel 檔為清單.xlsx
,內容如下:
要取用不同檔案的內容,同樣也是改動「儲存格位置」即可:
熟悉了 INDIRECT
函數的使用方式之後,接下來就可以使用這個函數製作動態參照的表格。
在 Excel 的公式中,&
這個運算子可以將兩段文字串接起來,例如 "AB"&"CD"
在計算後就會變成 "ABCD"
。
以下我們利用 &
運算子,將使用者輸入的「Excel 檔案」、「工作表」與「儲存格位置」三的欄位組合成完整的位置,然後再利用 INDIRECT
函數取出其中的資料:
=INDIRECT("["&A2&"]"&B2&"!"&C2)
參考資料:Exceljet