在 Excel 裡有一個 INDIRECT 函數,常有人摸不著頭緒是用來做什麼。

通常,會利用 INDIRECT 函數來將文字字串轉換為位址參照,這樣的做法讓公式內容看起都不會改變,但是其運算的結果會隨著文字字串的內容而變。以下要以「累加運算」來使用 INDIRECT 函數,讓你更了解它的用法。

Excel-指定個數累加總和(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來控制,只要輸入不同數字,即可累加不同個數的和。

Excel-指定個數累加總和(INDIRECT)

【參考資料】

INDIRECT 函數參考微軟提供的說明:INDIRECT 函數


學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel INDIRECT
    全站熱搜
    創作者介紹
    創作者 vincent 的頭像
    vincent

    學不完.教不停.用不盡

    vincent 發表在 痞客邦 留言(1) 人氣()