返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。当需要更改公式中单元格的引用,而不更改公式本身,请使用函数 INDIRECT。
前半句还好理解,后半句有点儿拗口了,其实大可不必在此深究这一句话的意思。个人觉得下面其他内容更重要。
语法
INDIRECT(ref_text,a1)
Ref_text 为对单元格的引用,此单元格可以包含 A1-样式的引用、R1C1-样式的引用、定义为引用的名称或对文本字符串单元格的引用。如果 ref_text 不是合法的单元格的引用,函数 INDIRECT 返回错误值 #REF!。
A1 为一逻辑值,指明包含在单元格 ref_text 中的引用的类型。
- 如果 ref_text 是对另一个工作簿的引用(外部引用),则那个工作簿必须被打开。如果源工作簿没有打开,函数 INDIRECT 返回错误值 #REF!。
- 如果 ref_text 引用的单元格区域超出行限制 1,048,576 或列限制 16,384 (XFD),则 INDIRECT 返回 #REF! 错误。 注释 此行为不同于 Microsoft Office Excel 2007 之前的 Excel 版本,早期的版本会忽略超出的限制并返回一个值。
- 如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引用。
- 如果 a1 为 FALSE,ref_text 被解释为 R1C1-样式的引用。
【链接】
关于A1、R1C1引用样式,请参考:什么是单元格引用 、如何理解 R1C1-样式的引用?
第1参数要求
| 【示例文件】 通读完毕,其实看来INDIRECT很简单,就两个参数,一个是代表引用的字符串,一个是选择引用样式。 首先,我们选择熟悉的A1引用样式来解读,即默认使用一个参数或者第2参数为TRUE或非0数值:
Ref在函数参数中一般指单元格引用;text则一般指字符串。这句话中,最重要的是告诉了我们INDIRECT的第一参数尽管可以变化多端,但最终必须是单元格引用。 如图:A1单元格输入"B2",B2单元格输入"C3",C3单元格输入"你找到这里了吗?" 下载 (31.75 KB)2009-4-9 01:25 【用法1】第1参数直接就是表示某单元格区域的字符串,比如: 示例1:=INDIRECT("A1")——返回对A1单元格的引用,得到"B2" 示例2:=INDIRECT("A1:C2")——返回对A1:C2单元格区域的引用。 【用法2】第1参数是引用,间接指向某单元格区域,比如: =INDIRECT(A1) 因为A1单元格值"B2",那么这个公式就是=INDIRECT("B2"),最终返回的是对B2单元格引用,得到"C3"; 再绕远点 =INDIRECT(INDIRECT(A1)) 那么这个公式第1步变为:=INDIRECT(INDIRECT("B2"));第2步变为=INDIRECT("C3"),因而最终返回对C3单元格的引用,得到"你找的这里了吗?" 【用法3】第1参数是定义的名称,注意,必须是引用单元格或者可以表示单元格引用的字符的名称,比如: 按CTRL+F3,定义名称X="A1" =INDIRECT(X)——返回对A1单元格的引用; 在B1输入"X",然后用=INDIRECT(B1)得到#REF!错误,或者=INDIRECT("X")也同样是错误,这是因为"X"是一个单纯的字符,不是合法的单元格引用,而INDIRECT(X)中的X是一个名称,它的值是字符"A1",而"A1"是可以转换为合法单元格引用的文本。 定义名称Y=OFFSET($A$1,,,3,3) 则=INDIRECT(Y) 得到{"C3",#REF!,#REF!;#REF!,"你找到这里了吗?",#REF!;#REF!,#REF!,#REF!},即把名称Y中对A1:C3的值分别代入,再逐一返回其对应的引用。不是合法单元格引用就返回错误。 通过上面3中用法,基本可以理解INDIRECT函数对第1参数的要求。 详细解读请看这个帖子: http://www.exceltip.net/thread-2083-1-4-232.html |


雷达卡


京公网安备 11010802022788号







