楼主 gouweicao78 |
【声明】请尊重原创版权!未经允许,不得转载! 【帮助文件】解读 前半句还好理解,后半句有点儿拗口了,其实大可不必在此深究这一句话的意思。个人觉得下面其他内容更重要。 【链接】 关于A1、R1C1引用样式,请参考:什么是单元格引用 、如何理解 R1C1-样式的引用? 解读INDIRECT函数.rar |
2楼 gouweicao78 |
【示例文件】 通读完毕,其实看来INDIRECT很简单,就两个参数,一个是代表引用的字符串,一个是选择引用样式。 首先,我们选择熟悉的A1引用样式来解读,即默认使用一个参数或者第2参数为TRUE或非0数值: Ref在函数参数中一般指单元格引用;text则一般指字符串。这句话中,最重要的是告诉了我们INDIRECT的第一参数尽管可以变化多端,但最终必须是单元格引用。 如图:A1单元格输入"B2",B2单元格输入"C3",C3单元格输入"你找到这里了吗?" 【用法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参数的要求。 |
3楼 gouweicao78 |
2楼通过对INDIRECT函数第1参数的示例讲解了简单的单元格引用。对与R1C1引用样式,INDIRECT函数的第2参数应使用FALSE或0或简写为逗号,比如=INDIRECT("Sheet1!RC",FALSE)、=INDIRECT("Sheet1!RC",0)、=INDIRECT("Sheet1!RC",)——都可以引用Sheet1表的相同位置(比如公式在C2,就引用Sheet1表的C2单元格) 在此基础上,继续拓展,讲解一下这个函数的几个典型应用: 一、跨工作表、簿引用 =INDIRECT("Sheet1!A1")——引用Sheet1表的A1单元格。 工作表名是变量,利用文本合并符: =INDIRECT(A1&"!A1"),然后在A1单元格中输入工作表名称,比如"Sheet1" 同理,可以跨工作簿引用,比如=INDIRECT(" |
4楼 牛奶加咖啡 |
坐沙发学习? |
5楼 shengyulon |
谢谢分享,最喜欢“函数解读”,“公式解析”。。。。 |
6楼 eve_saunter |
版主好强大; 如果我每天能弄明白一个专题的话,就乐死了; 昨天的LOOKUP/VLOOKUP还在晕糊呢 |
7楼 jchwylmh |
多谢版主的e文! |
8楼 江南 |
可惜是2007版 还用不习惯 |
9楼 江南 |
07好占内存啊 5200+,2G的内存都有延迟现象。。。 |
10楼 zjylsjwz |
见别人用过,自己没弄过这个 |
11楼 opelwang |
感谢分享。下载学习了。 |
12楼 yukaiwz |
先下载,再慢慢地消化,谢谢分享! |
13楼 zijing833 |
收下学习了!3KS |
14楼 shz88 |
怎么收藏啊! |
15楼 yuezc |
学到了indirect的用法。 |
16楼 yncxxmj |
讲的非常仔细。 |
17楼 abcxinfuzhu |
楼主真是高手。慢慢消化。谢谢 |
18楼 bensonlei |
It's useful to understand this function. Thanks! |
19楼 guideming |
学习中 多谢! |
20楼 jackycheng001 |
看了一遍,基本理解,楼主挺细心的, |
21楼 yzcyzc1023 |
谢谢版主,认真听讲。 |
22楼 wangqilong1980 |
谢谢分享,收藏学习 |
23楼 YANXIA0508 |
下载学习,谢谢! |
24楼 YANXIA0508 |
版主,怎么附件下载看到的全是乱码呀,急,急! |
25楼 xing_xingyou |
如果我每天能弄明白一个专题的话,就乐死了 |
26楼 pzr313316 |
學習中!高人! |
27楼 gouweicao78 |
乱码?这个附件是Excel 2007启用宏的工作簿格式,必须2007或2010版才可以打开,并需要启用宏(因为使用了宏表函数)。 |
28楼 xyh9999 |
好好学习! |
29楼 jcsxjwcxxp |
谢谢 |
30楼 LoveJinLee |
看了版主的“累计进度值”计算,很巧妙 但是,我比较疑惑公式:=INDIRECT(sht-1&"!RC",0)+A3 这里为什么用RC模式返回,而且不用指定返回相应表的B2,就可以找到B2 很疑惑 用RC这种写法,公式写在哪就找哪个相应单元格的原理是什么? 另外不懂“防止删除单元格产生错误”这个地方 |
31楼 gouweicao78 |
【声明】请尊重原创版权!未经允许,不得转载! 【帮助文件】解读 前半句还好理解,后半句有点儿拗口了,其实大可不必在此深究这一句话的意思。个人觉得下面其他内容更重要。 【链接】 关于A1、R1C1引用样式,请参考:什么是单元格引用 、如何理解 R1C1-样式的引用? 解读INDIRECT函数.rar |
32楼 gouweicao78 |
【示例文件】 通读完毕,其实看来INDIRECT很简单,就两个参数,一个是代表引用的字符串,一个是选择引用样式。 首先,我们选择熟悉的A1引用样式来解读,即默认使用一个参数或者第2参数为TRUE或非0数值: Ref在函数参数中一般指单元格引用;text则一般指字符串。这句话中,最重要的是告诉了我们INDIRECT的第一参数尽管可以变化多端,但最终必须是单元格引用。 如图:A1单元格输入"B2",B2单元格输入"C3",C3单元格输入"你找到这里了吗?" 【用法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参数的要求。 |
33楼 gouweicao78 |
2楼通过对INDIRECT函数第1参数的示例讲解了简单的单元格引用。对与R1C1引用样式,INDIRECT函数的第2参数应使用FALSE或0或简写为逗号,比如=INDIRECT("Sheet1!RC",FALSE)、=INDIRECT("Sheet1!RC",0)、=INDIRECT("Sheet1!RC",)——都可以引用Sheet1表的相同位置(比如公式在C2,就引用Sheet1表的C2单元格) 在此基础上,继续拓展,讲解一下这个函数的几个典型应用: 一、跨工作表、簿引用 =INDIRECT("Sheet1!A1")——引用Sheet1表的A1单元格。 工作表名是变量,利用文本合并符: =INDIRECT(A1&"!A1"),然后在A1单元格中输入工作表名称,比如"Sheet1" 同理,可以跨工作簿引用,比如=INDIRECT(" |
34楼 牛奶加咖啡 |
坐沙发学习? |
35楼 shengyulon |
谢谢分享,最喜欢“函数解读”,“公式解析”。。。。 |
36楼 eve_saunter |
版主好强大; 如果我每天能弄明白一个专题的话,就乐死了; 昨天的LOOKUP/VLOOKUP还在晕糊呢 |
37楼 jchwylmh |
多谢版主的e文! |
38楼 江南 |
可惜是2007版 还用不习惯 |
39楼 江南 |
07好占内存啊 5200+,2G的内存都有延迟现象。。。 |
40楼 zjylsjwz |
见别人用过,自己没弄过这个 |
41楼 tsoyzm |
还是不懂,晕 |
42楼 shwaizv |
支持一下**呵呵 |
43楼 那时毛驴 |
今天的任务就是这个啦,必须拿下这个函数 |
44楼 wuliaors |
好高级的技法,不过我觉得更重要的是这样的一个学习方法,一定要好好总结一下 |
45楼 wuliaors |
英文注解: Returns the reference specified by a text string. References are immediately evaluated to display their contents. Use INDIRECT when you want to change the reference to a cell within a formula without changing the formula itself. When you create a formula that refers to a cell, the reference to the cell will be updated if: (1) the cell is moved by using the Cut command to delete the cell or (2) the cell is moved because rows or columns are inserted or deleted. If you always want the formula to refer to the same cell regardless of whether the row above the cell is deleted or the cell is moved, use the INDIRECT worksheet function. For example, if you always want to refer to cell A10, use the following syntax: =INDIRECT("A10") 看了E文后,可能会容易了解了,尤其是最后一句:如果你想总是引用A10单元格,而不受删除、剪切、插入或移走而引起的变化的影响,请使用indirect。 |
46楼 feisky1219 |
|
47楼 tsoyzm |
喜欢看楼主这样的文章 |
48楼 409474185 |
多谢版主的E文,我用函数的时间很短,所以对您介绍的indircet函数的前部分要充分了解,后部分的特殊用法等相关函数都学了后再详研,谢谢了! |
49楼 好大一棵树王玉 |
感觉很好,还需要再练习一下!看一看是不是真的学会了! |
50楼 HIMYM |
学习了! |
51楼 新菜鸟 |
迷糊中~~~ |
52楼 hg10381 |
有时候会转不过弯 |
53楼 jianzhanchou |
不错,好好看看 |
54楼 icenotcool |
|
55楼 wise |
学习 |
56楼 lrlxxqxa |