excel中indirect函數,根據幫助,可以知道是返回并顯示指定引用的內容。使用INDIRECT函數可引用其他工作簿的名稱、工作表名稱和單元格引用。
第一,indirect函數對單元格引用的兩種方式。
看下圖,使用indirect函數在C2、C3引用A1單元格的內容。
1、=INDIRECT("A1"),結果為C3。這種使用,簡單的講,就是將這些引用地址套上雙引號,然后再傳遞給INDIRECT函數。
2、=INDIRECT(C1),結果為C2。解釋:因為C1的值就是 "A1",在公式編輯欄,選中“C1”,然后按下F9鍵,計算值,可以看到變為“"A1"”,本質沒變,都是對單元格引用。
上面兩者的區別在于:前者是A1單元格內文本的引用,后者是引用的C1單元格內的地址引用的單元格的內容。
第二,indirect函數工作表名稱的引用。
如下圖所示:
如果需要在“二班”工作表,計算“一班”工作表B2:B11的成績總和。可以使用這樣的 公式:=SUM(INDIRECT("一班!B2:B11"))。解釋:indirect(“工作表名!單元格區域”)
另外一種情況:當工作表名稱直接是數字的,在工作表名稱兩邊必須添加上一對單引號。
同樣的,在“2”工作表,計算“1”工作表B2:B11的成績總和。公式為:=SUM(INDIRECT("'1'!B2:B11"))。解釋:indirect(“’工作表名’!單元格區域”)
總結:如果工作表名為漢字,工作表名前后可以加上一對單引號,也可以不加。但是數字和一些特殊字符時,必須加單引號,否則不能得到正確結果。
我們在工作表命名時形成習慣盡量不要有空格和符號,這樣可以不怕indirect引用忘記加單引號括起來。要么形成習慣所有indirect帶工作表名引用時都用單引號將代表工作表名的字符串括起來。
第三,INDIRECT函數對工作簿引用的書寫方式和細節正確寫法
=INDIRECT("[工作簿名.xls]工作表表名!單元格地址")
INDIRECT函數,如果是對另一個工作簿的引用(外部引用),則那個工作簿必須被打開。如果源工作簿沒有打開,函數 INDIRECT 返回錯誤值 #REF!。
第四,Indirect函數應用實例一:制作多級下拉菜單
其原理是利用定義名稱,然后在單元格輸入與定義名稱相同的字符再對含有這種字符的單元格用Indirect作引用。
具體實例請參考論壇《數據有效性:多級下拉菜單制作》
第五:Indirect函數應用實例二:
統計五個班最低平均成績
本應用實例就是利用常量數組分別表示五個工作表的數據區,再用INDIRECT函數將字符串轉換成區域引用。
核心關注:拓步ERP系統平臺是覆蓋了眾多的業務領域、行業應用,蘊涵了豐富的ERP管理思想,集成了ERP軟件業務管理理念,功能涉及供應鏈、成本、制造、CRM、HR等眾多業務領域的管理,全面涵蓋了企業關注ERP管理系統的核心領域,是眾多中小企業信息化建設首選的ERP管理軟件信賴品牌。
轉載請注明出處:拓步ERP資訊網http://m.hanmeixuan.com/