首页 > Excel专区 > Excel函数 >

Indirect函数里的参数要不要加引号?

Excel函数 2023-01-08

=Indirect("a2")
=Indirect(a2)

以上两个公式究竟哪个对哪个错?现实中该怎么用?相信很多刚才开始学习Indirect的同学都被迷惑过。
其实,只要A2里输入恰当的内容,两个都对,只不过结果不同而已,是不是更迷惑了?

我们还是先从Indirect的身世说起吧:Indirect是个间接引用函数,说白了,他就是个引用,比如我们要引用A2单元格里的内容,最简单的直接引用,就是直接“=A2”,除此之外,还有一种间接引用的方式,就是用函数公式来引用A2这个单元格的地址。
好吧,既然要用函数公式,那就得遵守函数公式的规则:等号&函数名&左括号&参数&右括号,那么在这里,间接引用的函数名是“Indirect”,参数是“A2”这个单元格的地址,注意啊,这里是“地址”,所以在函数中是要用一对引号引起来,不能因为他长得像单元格引用就拿他当单元格引用来用。完整的函数公式就应该写成:
=Indirect("a2")

Indirect函数里的参数要不要加引号?

这个,才是Indirect行号列标间接引用的原型!

不用引号又会怎么样呢?那就完全变味了:
=Indirect(A2)

Indirect函数里的参数要不要加引号?

看看,这一溜8个公式,只有最后两个出结果了,而且还是稀奇古怪的结果,这又是怎么来的呢?大脑思考有难度那就换用膝盖思考吧:
Indirect的参数必须是单元格地址,而A2里的内容是一个数字15,很明显和单元格地址扯不上任何关系嘛,所以就错了,后面的几个也是同样的道理,谁的工作表一打开,里面会有个叫“甲”的单元格?除非设置了自定义。
当公式引用到A8时,A8单元格里的内容是F5,所以这公式就是间接引用了A8单元格里的地址“F5”的内容,不幸的是F5里没内容,所以就0了。
最后一个,公式是间接引用了A9单元格里的地址C8,而C8里的内容刚才是“F5”……嘿嘿,所以就F5了。要不您试试公式求值(公式》公式审核》公式求值),看看结果是什么,是不是由“Indirect(A9)”变成了“Indirect("C8")”?

Indirect函数里的参数要不要加引号?

至于Indirect的以下变种: 

 =INDIRECT("A"&公式)
 
=INDIRECT("R"&公式&"C"&公式,)
 
=INDIRECT(TEXT(11,"R0C0"),)

归根结底,都是要制造出一堆长得像单元格地址的字符串出来,这样才好作为Indirect的参数,把那个地址里的内容给引出来。


Copyright © 2016-2023 office学习教程网 office.tqzw.net.cn. All Rights Reserved.