本文的標題是《每天學一點Excel2010 (83)——Idirect》來源于:由作者:陳莉采編而成,主要講述了187 indirect
助記:英文的“間接”。
類別:查找和引用
語法:
indire
187 indirect
助記:英文的“間接”。
類別:查找和引用
語法:
indirect(ref_text,[a1])
參數:1~2個參數
- ref_text 必需。對單元格的引用。可以是A1樣式、R1C1樣式、已定義的名稱或者代表引用的文本字符串。如果識別不了,函數返回錯誤值#REF!,例如,引用是對另一個工作簿的外部引用,而該工作簿未打開。或者引用的單元格行數超過1048576、單元格列數超過16384(XFD)時。
- a1 可選。1個邏輯值。如果為true 或者省略,ref_text被解釋為A1樣式的引用;如果為false,ref_text被解釋為R1C1樣式的引用。就是說,使用R1C1樣式時,必需要有這個參數。
用法:
返回由參數指定的引用。使用該函數的好處是可以做到“不忘初心”。
1)我們在A1單元格輸入1,B1單元格輸入2,C1單元格輸入公式“=A1+B1”,結果為3。
2)現在我們右鍵單擊B1單元格,選擇“插入”、“活動單元格下移”后確定,C1中的公式變為“=A1+B2”。
3)現在我們再右鍵單擊B2單元格,選擇“剪切”、鼠標右擊任意單元格選擇粘貼,C1中的結果仍然不會變,公式自動隨之改變。
4)所以我們要想讓C1中公式的引用始終不變,就要把公式寫成“=indirect("A1")+indirect("B1")”的樣子,這樣的公式無論**或剪切到任何地方,都可以始終保持對單元格的引用不變,堅守初心。
另外,ref_text參數可以是字符串,我們可以使用字符串的連字符&來根據需要構造我們的參數。
自動生成R1C1樣式
1)比如我們將代表行、列的數值轉換成R1C1樣式的文本字符串可以這樣做。
2)如圖,在A1中輸入“行列數”,A2~A11中輸入行數1~10(用數字填充比較快),也可以使用我們學到的函數寫成“=row()-1”向下填充。
3)同理,B1~J1填入列數1~9,公式是“=column()-1”,向右填充。
4)選擇B2單元格,輸入“="R"&$A2&"C"&B$1”,將此公式利用填充柄向下、向右填充,就可以得到如圖所示的代表單元格引用的R1C1樣式的字符串。
5)任意選擇一個其他空白單元格,輸入“=indirect(B2,false)”,會顯示“行列數”,可以向下填充。
6)再任意選取一個單元格,輸入“=indirect("B"&A3)”,省略第2個參數是A1樣式,顯示B2單元格的內容,可以向下填充。
7)利用這個功能就可以做個查詢。
8)例如我們現在工作表Sheet3中輸入一個花名冊。
花名冊示例
9)新建一個工作表,注意查詢的項目順序和Sheet3不同,在A3輸入“=indirect("sheet3!"&"B"&$B$1+1)”回車后顯示Sheet3工作表B列查詢序號對應單元格的內容。
查詢
認真思考一下,Excel幫助中說的“如果需要更改公式中對單元格的引用,而不更改公式本身,請使用函數INDIRECT”是什么意思?看看上面的內容我理解的對不對,所有的引用都用indirect函數的話,這個公式**、剪切到哪里都是不變的!例如“=Sheet3!D4”這樣的公式,就會隨著位置而改變。
歡迎批評指正!
(待續)
本文原作者為陳莉,轉載請注明:出處!如該文有不妥之處,請聯系站長刪除,謝謝合作~
原創文章,作者:陳莉,如若轉載,請注明出處:http://www.uuuxu.com/20220514322218.html