Indirect —— 一个关于追求美女的故事

作者:萝卜来源:www.exceljy.com推荐讲师:冯美旺发表于:2010-10-15

如果你以为Excel中的函数枯燥、不好掌握,那么这篇文章或许能改变你的想法。一个生动、有趣的故事能让你理解某个函数的精髓。Indirect函数是一个看起来很简单,但实际使用起来不那么简单的一个函数。而如果只是用它帮助文件举例的用法,则是大大浪费了这个函数。最起码,这篇短文能帮助你理解这个函数的基本用法,这是广泛应用这个函数的基础。

  事先说明哈,萝卜写的函数故事,只是把萝卜对某个函数的最基本的理解用故事的形式讲述出来,目的是便于我自己理解记忆,从严谨性和学术性来讲,都登不上大雅之堂。当年写它也是因为好玩,顺便送给草莓作为胎教礼物的,自然故事要好玩和简单为主。新手们可以看个热闹,觉得好玩就好,毕竟我把这样的故事贴出来,就是希望大家不要认为函数看起来很冷冰冰,它们其实非常可爱,很多小伎俩小脾气在里面的。大家如果想要深刻研究,看萝卜故事可没有什么指导作用,一定要自己多看高手的帖子、更要多多做题才能掌握函数的精髓。

  Indirect是一个绝佳的引用工具。可惜啊,实在是虚虚实实让你很难把握清楚它的真实内容。

  按说吧,如果你看了indirect的说明书,应该能够知道它是返回一个引用值。可是呢,到底引用的是本尊还是替身,刚接触的人总是容易犯晕。

  好吧,我废话了这么多,开始讲故事

  Indirect是个特出色的女孩子,人长得漂亮不说,人缘也好,还特别能干,在职场上非常欢迎,一般有什么项目需要合作啊,她常常都是被争抢的那个。像match啊、lookup什么的,就特别特别喜欢跟indirect合作。那是啊,美女,不傲气,又有能力,谁不喜欢啊!

  美女当然多面了,不过呢,indirect一般就2面示人,一个是职场干练形象,一个生活中可爱女孩的形象。非要我描述?好吧,举个例子你就知道了。indirect(A1),这就是她职场干练形象;indirect(R1C1,0),这是她生活中的样子。当然了,其实都是她本人,只是不同场合她表现不同而已。

  生活中,追求indirect的人特别多,可是呢,indirect偏偏选择了一个老实木讷的工科出身的工程师做男朋友。

  其实这对情侣,一开始的磨合期也不顺利。因为indirect很浪漫,时不时弄出个小情调啊、小把戏出来,老实男友根本搞不清出状况,总是会错意,闹了不少笑话呢。

  有一次,男友生日,indirect告诉他,你的生日礼物在客厅桌上。男友就去看了,客厅桌上只有一个茶杯,男友被这茶杯拿给indirect看,还特美,说你这礼物真实用,我在公司刚好用得上。Indirect愣了半天,问他,你没看到茶杯地下压着一张纸条么?男友冲回去发现果然原来茶杯的位置上还有一张纸条,上面写着:打开你的抽屉。男友打开抽屉,才发现,里面有一个包装精美的包裹,上面写着“生日快乐”几个字。

  Indirect本来想浪漫一把的,不直接告诉他礼物在哪里,让他找一下,有个惊喜。结果呢,老实男友完全是一根筋,没有喜,到把indirect给惊着了。

  如果按indirect的思路,应该是这样的indirect(客厅桌子)——到客厅桌子上发现下一个线索是抽屉——打开抽屉发现里面的生日礼物。也就是说,桌子只是一个引子,它里面根本就有陷阱,你要绕过陷阱根据线索才能找到真正的礼物。没想到老实男友异常直接地把桌子当作终点了。

  另外一次,男友生病了,indirect去照顾他,一大早煮好了一锅粥放在餐桌上,自己上班去了。离走前,她给男友留了一张纸条,写着:早餐在餐桌上,自己记得吃。

  结果等到下班indirect回到家,发现一锅粥纹丝未动。一旁男友饿了一天。Indirect很奇怪,问你看到我给你的纸条没有,男友说看了,我去餐桌找了一天也没有看到下一个纸条,不知道去哪里找早餐。

  Indirect一身汗,这次她的思路是indirect(“餐桌”),很直接地没有绕弯,到了餐桌就能得到早餐的!结果这次老实男友这次想太多了……

  经过2次惨痛教训,老实男友痛定思痛,绝对好好研究indirect的话,否则美人一定会让自己气跑的。一番努力后,老实男友得到一下结论:

  如果indirect说了一句话,别急着下结论,去现场看看,是不是有其他线索,如果有线索,那么就顺着线索走,这样才能知道indirect的真正意思。如果现场什么也没用,那就是那句话的本意了。

  判断起来也容易,偷偷看看indirect是否使用了引号就行了。一般来说,有引号的,往往就是它的本意。没有引号的,悬了,找线索吧。

  老实男友掌握了这个小技巧后,基本没有再领会错过indirect的意思。时不时的,他也用线索方式跟indirect订个约会地点什么、送个情人节礼物之类的。Indirect偷偷跟我说,她现在很满意很满意。

  好了,废话一堆,我们进小e里面实践一下就彻底清楚indirect的意思。

  Indirect(A1),里面参数没有引号,那就小心有线索陷阱,进去看看,果然,A1的内容是B1,indirect这就暗示你,用B1的内容(1212),那么返回的结果indirect(A1)=1212

  Indirect(”A1”),里面参数可是有引号的,基本上这时候indirect就是跟你敞开心扉了,直接用A1的内容就好,A1的内容就是B1啊,所以返回结果indirect(”A1”)=B1

  嗯,萝卜自己总结的另外一个关注点是:

  indirect走的就是引用路线,当然直接写某个单元格地址,前提是这个单元格的有引用其他的内容或者自定义名称,如果单元格里面是真正的数字啊、文本之类的普通内容,那完了,indirect的脾气就上来了,它干脆不认。如果想要A6里面的内容“b",就只能加上引号来救命了。

↵ 返回文章列表