複製鏈接
請複製以下鏈接發送給好友

INDIRECT函數

鎖定
Indirect函數是引用函數,返回由文本字符串指定的引用。 此函數立即對引用進行計算,並顯示其內容。 如果需要更改公式中對單元格的引用,而不更改公式本身,請使用函數 INDIRECT。 [2] 
中文名
INDIRECT函數
隸    屬
Microsoft Excel
功    能
返回由文本字符串指定的引用,對引用進行計算,並顯示其內容。
詞    性
專有名詞
特    點
更改公式中對單元格的引用,而不更改公式本身
語    法
(ref_text,[a1])

目錄

INDIRECT函數含義

此函數立即對引用進行計算,並顯示其內容。當需要更改公式中單元格的引用,而不更改公式本身,請使用此函數,INDIRECT為間接引用。

INDIRECT函數語法

INDIRECT 函數語法具有以下參數:
1. Ref_text 必需。 對包含 A1 樣式引用、R1C1 樣式引用、定義為引用的名稱或作為文本字符串對單元格的引用的單元格的引用。 如果ref_text不是有效的單元格引用,則 INDIRECT 返回#REF! 錯誤值。 [2] 
  • 如果ref_text引用外部引用 (工作簿) ,則必須打開另一個工作簿。 如果源工作簿未打開,INDIRECT 返回#REF! 錯誤值。注意 Web 應用中不支持Excel引用。
  • 如果ref_text單元格區域超出行限制 1,048,576 或列限制 16,384 (XFD) ,INDIRECT 返回 #REF! 錯誤。
2. A1 可選。 一個邏輯值,用於指定包含在單元格 ref_text 中的引用的類型。 [2] 
  • 如果 a1 為 TRUE 或省略,ref_text 被解釋為 A1-樣式的引用。
  • 如果 a1 為 FALSE,則將 ref_text 解釋為 R1C1 樣式的引用。

INDIRECT函數使用方法

要使用這個函數主要記住以下兩點就可以輕鬆掌握:
  • 函數的參數:單元格名稱或符合單元格地址格式(A1,$A$1,etc.)的字符串
  • 函數的返回值:參數所指定的單元格的值
下面將以下圖為例對函數參數進行簡單説明,將B2單元格的名稱設定為TEST:
圖1 圖1
直接指定單元格地址:=INDIRECT("A4"),這時會返回值”A3”。因為參數給定的既是字符串也符合單元格地址格式,所以直接對參數代表的單元格進取引用取值 [1] 
隱式指定單元格地址:=INDIRECT(A4),這個時候會返回值”3”,也就是A3單元格的值。因為參數指定的是A4,在這裏A4是一個單元格的地址而非字符串,所以要取出單元格A4的值(也就是字符串”A3”),然後對拿到的地址(A3)進行取值得到”3”。為了加深理解可以將公式改為=INDIRECT(A2),這個時候公式就會返回#REF!錯誤,因為單元格A2的值是”2”,而不存在一個地址為2的單元格,所以會報錯。
通過公式或者連接符得到單元格地址:=INDIRECT(B1&A3),這時會返回值”3”。雖然公式中參數有&鏈接,但參數仍不是字符串,更不是單元格地址或者名稱,首先要做的就是將參數轉化成字符串格式的地址或者名稱。B1的值是”A”,A3的值是”3”,通過&連接後得到字符串”A3”,因此公式也就轉化成了=INDIRECT("A3"),這樣就會得到A3單元格的值。同樣也可以在指定參數的時候指定單元格的列標或者行標,如:=INDIRECT("A"&A3),=INDIRECT(B1&"3"),=INDIRECT(B1&"$3"),=INDIRECT("$A"&A3)都是要讀取A3單元格的值,也都會返回”3”。
使用單元格名稱:=INDIRECT(A5),會返回”B”,也就是B2單元格的內容。與前面一樣,將A5轉換成單元格名稱的字符串”TEST”,然後取得”TEST”所代表的單元格的值,即”B”。與=INDIRECT("TEST")等價。

INDIRECT函數示例

複製下表中的示例數據,然後將其粘貼進新的 Excel 工作表的 A1 單元格中。 要使公式顯示結果,請選中它們,按 F2,然後按 Enter。 如果需要,可調整列寬以查看所有數據。
示例數據
序號
A
B
1
數據
數據
2
B2
1.333
3
B3
45
4
George
10
5
5
62
示例結果
公式
説明(結果)
=INDIRECT($A$2)
單元格A2中的引用值(1.333)
=INDIRECT($A$3)
單元格A3中的引用值(45)
=INDIRECT($A$4)
如果單元格B4有定義名“George”,則返回定義名的值(10)
=INDIRECT("B"&$A$5)
單元格B5中的文本值(62)
示例實際運行效果及説明 示例實際運行效果及説明
當在創建公式時,對某個特定單元格進行了引用。如果使用“剪切”命令,或是插入或刪除行或列使該單元格發生了移動,則單元格引用將被更新。
如果需要使得無論單元格上方的行是否被刪除或是單元格是否移動,都在公式保持相同的單元格引用,請使用 INDIRECT 工作表函數。例如,如果需要始終對單元格 A10 進行引用,請使用下面的語法:
=INDIRECT("A10") [2] 
參考資料
  • 1.    才讓當週. Excel函數在學分制教務管理中的應用實踐[J]. 青海師範大學學報(自科版), 2012(3).
  • 2.    indirect函數  .微軟[引用日期2019-07-22]