Board logo

標題: [發問] 請教__INDIRECT函數使用方法 [打印本頁]

作者: axen0520    時間: 2011-12-19 15:38     標題: 請教__INDIRECT函數使用方法

請教各位前輩
=SUM('1:31'!H5)  程式 可以加總

但是改成=SUM(INDIRECT("'"&B5&":"&C5&"'!H5"))

卻出現#ERF!   B5=1     C5=31
作者: Hsieh    時間: 2011-12-19 16:41

回復 1# axen0520


    立體參照只能使用
SUM,AVERAGE ,AVERAGEA,COUNT ,COUNTA ,MAX,MAXA ,MIN ,MINA ,PRODUCT ,STDEV,STDEVA,STDEVP,STDEVPA,VAR,VARA,VARP ,VARPA  
這些函數
也就是說INDIRECT函數無法設定立體參照
作者: axen0520    時間: 2011-12-19 22:54

回復 2# Hsieh


    什麼叫 立體參照 阿  不太懂耶
作者: Hsieh    時間: 2011-12-19 23:25

參照到1個以上(不含1個)工作表相同儲存格範圍或單一儲存格
就叫做立體參照,立體參照形式如下:
開始工作表:結束工作表!儲存格參照
例如:活頁簿中有5個連續工作表
名稱分別為:Sheet1,Sheet2,Sheet3,Sheet4,Sheet5
要在第5個工作表(Sheet5)中計算Sheet1到Sheet4這4個工作表的A1儲存格加總
公式=SUM(Sheet1:Sheet4!A1)
因為此種參照是分別存在不同工作表中的儲存格
每個工作表可視為一個平面,多個工作表即為多個平面,所以稱為立體參照
請參閱
    Microsoft線上說明
作者: handmuch    時間: 2011-12-20 11:10

試試這個:
{=SUM(N(INDIRECT(ROW(INDIRECT(B5&":"&C5))&"!H5")))}

或是

=SUMPRODUCT(N(INDIRECT(ROW(INDIRECT(B5&":"&C5))&"!H5")))
作者: Hsieh    時間: 2011-12-20 12:10

本帖最後由 Hsieh 於 2011-12-20 12:29 編輯

開眼界了
想不到能突破陣列公式與與工作表變數的限制
學習了!
只是這樣的方法只適合連續以數字編號的工作表名稱
實質上已經不是真正立體參照
利用空白起、迄工作表來變動範圍
[attach]8849[/attach]
作者: axen0520    時間: 2011-12-21 10:06

回復 5# handmuch


    謝謝 這個公式可以 可以符合我的需求

    SUMPRODUCT(N(INDIRECT(ROW(INDIRECT(B5&":"&C5))&"!H5")))
作者: axen0520    時間: 2011-12-21 10:07

回復 6# Hsieh


感謝版主 詳細 圖文教學   我懂了
作者: ML089    時間: 2014-10-30 14:13

回復 6# Hsieh

INDIRECT、OFFSET使用N()、T()降維的方法可以處理這類問題

以前的答題可作參考
https://tw.knowledge.yahoo.com/q ... n?qid=1011072907608
作者: jomeow    時間: 2014-10-30 17:26

回復 5# handmuch


  請問一下..

試試這個:
{=SUM(N(INDIRECT(ROW(INDIRECT(B5&":"&C5))&"!H5")))}

或是

=SUMPRODUCT(N(INDIRECT(ROW(INDIRECT(B5&":"&C5))&"!H5")))

n是有什麼用呢... 請問可不可以解說一下嗎..

先謝謝大大回答~




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)