使用公式定義範圍

使用公式定義範圍

我的問題的簡化版本是,在另一張名為的工作表上,Sheet2我有想要平均的數據:

=AVERAGE(Sheet2!$A$1:Sheet2!$A$100)

根據上面程式碼的使用位置,我需要將“column”替換A為另一個字母,例如“column” D。為此,我創建了一個函數:

=MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ",4,1)

這將輸出D.

我的問題是不必寫:

=AVERAGE(Sheet2!$D$1:Sheet2!$D$100)

我想使用:

=AVERAGE(Sheet2!$MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ",4,1)$1:Sheet2!$MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ",4,1)$100)

但 Excel 不接受這一點。如何使用 旁邊的函數Sheet2!

答案1

您可以使用間接:

=AVERAGE(INDIRECT ("Sheet2!$" & MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ",4,1)&"$1:Sheet2!$" & MID("ABCDEFGHIJKLMNOPQRSTUVWXYZ",4,1)&"$100"))

答案2

OFFSET 和 INDIRECT 是不穩定的,我們可以使用 INDEX

=AVERAGE(INDEX(Sheet2!$A$1:$Z$100,0,4))

告訴0INDEX 傳回所有行,並且4是第四列。因此,第 4 列中從 1 到 100 的所有行都將被平均。

根據您的評論:

=AVERAGE(INDEX(Sheet2!$A$1:$Z$100,0,(COLUMN(A:A)-1)*3))

答案3

這是一種方法:

=AVERAGE(OFFSET(Sheet2!$A:$A,0,(COLUMN()-1)*3))

請注意,它OFFSET是不穩定的,會增加工作簿中的計算負載

相關內容