文档库 最新最全的文档下载
当前位置:文档库 › INDIRECT函数的使用方法

INDIRECT函数的使用方法

INDIRECT函数的使用方法
INDIRECT函数的使用方法

INDIRECT函数的使用

Excel帮助中的语法:

INDIRECT(ref_text,引用方式)

其中

ref_text为对单元格的引用,可为文字串或返回字符串的表达式,可以包含 A1-样式的引用、R1C1-样式定义为引用的名称或对文字串单元格的引用。如果 ref_text不是合法的单元格的引用,函数 INDIRECT 引用方式为一逻辑值,指明包含在单元格 ref_text中的引用的类型。

如果引用方式为 TRUE 或省略,ref_text被解释为 A1-样式的引用。

如果引用方式为 FALSE,也可以用0表示,ref_text 被解释为 R1C1-样式的引用。

特别注意:如果 ref_text 是对另一个工作簿的引用(外部引用),则那个工作簿必须被打开。

如果源工作簿没有打开,函数 INDIRECT 返回错误值 #REF!。

此函数返回的是ref_text文本串所指定的单元格区域引用。关键是ref_text表达式应返回一个字符串

A1样式引用:就是最普通的excel窗口中上方的“A、B、C、…”列标,右边的“1、2、3、…”行号所对应的如C4即指对第C列(第3列)第4行的单元格引用。

R1C1样式引用:就是在“工具》选项》常规”中设置了“R1C1引用样式”后,窗口上方的列标变为“1、2、如上面的A1样式的C4在R1C1样式中就变为R4C3,其中R4指第4行、C3指第3列。

提示:用INDIRECT函数时,用什么样式引用与“工具》选项”中对引用样式的设置无关(有限制的)。

也就是设置为A1样式引用,INDIRECT函数中照样可以用R1C1样式的引用,反之也行。

下面作一些详细的分析,供大家参考

A.对本表的一个单元格的引用

INDIRECT("E23")"E23"就表示对E23单元格的引用,

结果如下

G23=INDIRECT("E23")

INDIRECT(E23)同样是A1E23单元格中的文本"G23",12345=INDIRECT(E23)

以上两式用R1C1样式可这样写

G23=INDIRECT("R23C5",0)12345=INDIRECT(E22,0)

上面右边的公式为什么用=INDIRECT(E22,0)?因为目前的设置是A1样式引用,E22必须用A1样式,而E 提示:看INDIRECT函数到底是对哪个单元格的引用?可选中INDIRECT函数的第一个参数,按F9键,看 ref_text参数到底以什么样式写?如是直接的字符串,两种方式均可以,只要和第二个引用方式参如ref_text参数是一个字符串计算表达式,那么这个表达式中的单元格引用应与当前“选项”中的引再根据这个表达式的结果字符串来决定用相一致的第二个引用方式参数。

B.跨表的一个单元格的引用

只要在ref_text中加上工作表名即可,公式为INDIRECT(,引用方式)

300=INDIRECT("Sheet2!B4")

或300=INDIRECT(G35)

R1C1样式引用

300=INDIRECT("Sheet2!R4C2",0)300=INDIRECT(G36,0)

那么下面的公式怎么错了?

#REF!=INDIRECT("表 B!B4")#REF!=INDIRECT(J39)

因为“表 B”中有空格,excel规定当表名有空格时必须用'号将表名括起来。

此问题与半榻茶烟版主讨论过,开始以为在INDIRECT函数中ref_text已是字符串,可不用'号,最后的结400=INDIRECT("'表 B'!B4")400=INDIRECT(J43)

提示:不要忘了用'号将表名括起来,否则可能出了问题也找不到原因在哪儿,加了'号对所有的表名(不管

C.对一个单元格区域的引用

怎么输入多单元格数

表 B'!A1:B4")}

选择表表 B

选择姓名李四

工资400=IF(ISNA(VLOOKUP(B53,INDIRECT("'"&B52&"

提示:INDIRECT

以下部分涉及INDIRECT函数的三维引用,对数组不是特别感兴趣的朋友可不看

D.一个数组元素参数的单元格区域引用

{=INDIRECT("'表 B'!A1:B"&ROW(4:4))},不用数组方式输入也出错!

ROW(4:4)返回4,"'表 B'!A1:B"&ROW(4:4)表达式的结果为"'表 B'!A1:B4"

A47:B50区域的相同,均为{=INDIRECT("'表 B'!A1:B4")},在单元格区

ROW(4:4)返回的不是4,而是一个元素的数组{4},这样ref_text表达式计算的结

"'表 B'!A1:B4",而是一个字符串元素的数组{"'表 B'!A1:B4"},选中某个黄色区

INDIRECT函数的参数表达式,按F9键就可看到。

提示:INDIRECT函数的参数如果为一个单元素数组时,而这个数组的元素又表示一个单

如:按姓名查找工资

对照A47:B50区域,正确!表 B'!A1:B

INDEX函数,见右面。

MAX函数求最大值0错误,应该为4

函数就可以做到,为简化说明问题,已将判别偶数行的部分去掉了

相关文档