INDIRECT函数

Microsoft Excel软件中的函数
收藏
0有用+1
0
本词条由《中国科技信息》杂志社 参与编辑并审核,经科普中国·科学百科认证 。
Indirect函数是引用函数,返回由文本字符串指定的引用。 此函数立即对引用进行计算,并显示其内容。 如果需要更改公式中对单元格的引用,而不更改公式本身,请使用函数 INDIRECT。 [2]
中文名
INDIRECT函数
隶    属
Microsoft Excel
功    能
返回由文本字符串指定的引用,对引用进行计算,并显示其内容。
词    性
专有名词
特    点
更改公式中对单元格的引用,而不更改公式本身
语    法
(ref_text,[a1])

含义

播报
编辑
此函数立即对引用进行计算,并显示其内容。当需要更改公式中单元格的引用,而不更改公式本身,请使用此函数,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 样式的引用。

使用方法

播报
编辑
要使用这个函数主要记住以下两点就可以轻松掌握:
  • 函数的参数:单元格名称或符合单元格地址格式(A1,$A$1,etc.)的字符串
  • 函数的返回值:参数所指定的单元格的值
下面将以下图为例对函数参数进行简单说明,将B2单元格的名称设定为TEST:
图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")等价。

示例

播报
编辑
复制下表中的示例数据,然后将其粘贴进新的 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]