在 Excel 裡有一個 INDIRECT 函數,常有人摸不著頭緒是用來做什麼。
通常,會利用 INDIRECT 函數來將文字字串轉換為位址參照,這樣的做法讓公式內容看起都不會改變,但是其運算的結果會隨著文字字串的內容而變。以下要以「累加運算」來使用 INDIRECT 函數,讓你更了解它的用法。
【設計與解析】
1. 傳統做法
儲存格B4:=SUM($A$4:A4)
複製儲存格B4,貼至儲存格B4:B20。
2. 使用 INDIRECT 函數
儲存格B4=SUM(INDIRECT("A4:A"&(ROW(1:1)+3)))
其中以「"A4:A"&(ROW(1:1)+3」取代「$A$4:A4」。
藉由INDIRECT函數將文字字串轉換為位址參照。
因為第一個數值的位置是儲存格A4,因此,藉由「ROW(1:1)+3」等於是「1+3」,字串結果為「A4:A4」。
當複製公式往下貼上時公式的轉變為:
ROW(1:1)→ROW(2:2)→ROW(3:3)→…。因此,
INDIRECT("A4:A4")→INDIRECT("A4:A5")→INDIRECT("A4:A6")→…。
3. 延伸應用(計算前N個的和)
儲存格E4:=SUM(INDIRECT("B4:B"&ROW(1:1)+3+F3-1))
運算結果可以由儲存格F3來控制,只要輸入不同數字,即可累加不同個數的和。
【參考資料】
INDIRECT 函數參考微軟提供的說明:INDIRECT 函數
文章標籤
全站熱搜
留言列表