- 中文名
- INDIRECT函数
- 隶 属
- Microsoft Excel
- 功 能
- 返回由文本字符串指定的引用,对引用进行计算,并显示其内容。
- 词 性
- 专有名词
- 特 点
- 更改公式中对单元格的引用,而不更改公式本身
- 语 法
- (ref_text,[a1])
含义
播报编辑
语法
播报编辑
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:
隐式指定单元格地址:=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") [2]