excel CELL函数 =INDIRECT("[资料.xls]"&$A4&"!"&CELL("address",$C$13)) 这个公式是什么意思?

excel CELL函数 =INDIRECT("[资料.xls]"&$A4&"!"&CELL("address",$C$13)) 这个公式是什么意思?

整个函数将返回 资料.xls这个文件中的工作表(表名由$A4单元格的值确定)的C13单元格的值。

 

CELL("address",$C$13)

CELL(info_type,reference)

返回某一引用区域的左上角单元格的格式、位置或内容等信息。

这里返回单元格$C$13的绝对引用文本值:"$C$13"

 

INDIRECT(ref_text,a1)

返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。

    如果 ref_text 是对另一个工作簿的引用(外部引用),则那个工作簿必须被打开。如果源工作簿没有打开,函数 INDIRECT 返回错误值 #REF!。

A1 为一逻辑值,指明包含在单元格 ref_text 中的引用的类型。

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

    如果 a1 为 FALSE,ref_text 被解释为 R1C1-样式的引用。

追问

源工作簿已经打开了,可返回值还是错误#REF?

追答

你可以点击
fx

按钮查看函数计算的中间值。
表名由$A4单元格的值确定,这里的A4单元格是当前工作表(公式所在表)中的值。
资料.xls文件中有这个表吗?

追问

可以了,是因为我的源工作簿的文件名的问题,原工作簿文件名在是“资料-10月”,不识别中间的短横,改成“资料10月”就出现了。非常感谢!

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-11-21
如果在引用另外一个表的内容,而这个内容中的一部分是通过公式计算出来的,就要用到indirec函数。
比如要引用sheet2的A5单元格,直接写就是=sheet2!A5,但如果这个5是通过调用C8单元格的内容,那么就只能写成indirect("sheet2!A"&C8),这样的话,如果C8里面是写的10,结果就是调用sheet2的A8单元格了。
你这个CELL("address",$C$13)的计算结果就是$C$13。
其实这个cell好象是多余的,直接写$C$13就可以了。
公式写成这样是一样的效果=INDIRECT("[资料.xls]"&$A4&"!$C$13")
这是我做的测试,两个公式的计算结果都是2012-229
2012-229 =INDIRECT("[question.xlsx]"&$A4&"!"&CELL("address",$A$6))
2012-229 =INDIRECT("[question.xlsx]"&$A4&"!$A$6")

sheet1
第2个回答  2012-11-21
有一个excel文档的名字是 资料.xls,这个文档有若干个工作表
然后再这个公式所在的表的A4单元格的内容是资料文件中的其中一个工作表的名字,例如sheet2
,那这个公式就是引用资料文档的sheet2工作表的C13单元格的内容追问

感谢感谢!确实是在“资料”这个文档中,有很多工作表。还要继续请教下,这个公式有错误吗?我做一份表格,数据来源是资料这个文档,我使用的是上面这个公式,但结果出来不是sheet2工作表的C13单元格的内容,显示是#REF

第3个回答  2012-11-21
引用,文件名为 资料,工作表名 是 A4 单元格里的内容,单元格是c13对应的内容
例如,如果A4=Sheet1,C13=A5
那么结果就使 资料.xls文件,Sheet1表里,A5单元格的内容

excel CELL函数 =INDIRECT("[资料.xls]"&$A4&"!"&CELL("address",$...
整个函数将返回 资料.xls这个文件中的工作表(表名由$A4单元格的值确定)的C13单元格的值。CELL("address",$C$13)CELL(info_type,reference)返回某一引用区域的左上角单元格的格式、位置或内容等信息。这里返回单元格$C$13的绝对引用文本值:"$C$13"INDIRECT(ref_text,a1)返回由文本字符串指定的...

如何使用Excel公式Indirect引用Address函数得到的地址值?
当你需要当前行的行号,使用cell(row());对于相对列号,如A3,用Column(A3)就能轻松获取。然后,这两者结合,通过Address函数将它们编织成地址,如$A$13,这种绝对引用方式确保了公式在任何位置都能准确指向。公式的力量:Indirect的魔法 真正的魔法在于Indirect,它能"读懂"你编写的地址。当你对Address...

在excel中公式“=INDIRECT(ADDRESS(CELL("row"),COLUMN (A3...
cell("row")得到当前公式行的行号 Column(A3)得到A3的相对列号,然后用Address求出上面两个函数得到的行列号的地址=$A$13这样的格式。最后再由Indirect引用上面这个地址的值。

excel引用其他工作簿的单元格的自动填充问题
=indirect("[0"&row(A641)&".xls]房屋基本情况登记表!$C$13")这公式写了,不是要每个工作薄都打开?建议用宏, 一次性收集, 几秒钟 解决你所有的问题

求救,求excel中引用其他表格中特定单元格的函数,并非简单引用,看清楚问 ...
上面的公式应该可以使用,但一定要在那个张三、李四、王五等工作簿打开的情况下才能使用,最好是加一个路径就可以了,不用打开这些工作簿。

【Excel技巧】- 办公常用的十大函数@INDIRECT函数
公式=COUNT(INDIRECT(A2))相当于=COUNT(INDIRECT("计数"))相当于=COUNT($C$3:$F$9)。因为此时INDIRECT函数返回一个区域,所以使用COUNT函数就可以计数了。案例三:有了上面案例二的铺垫,我再来介绍大家见到过的二级菜单。接下来我将采用三步来进行讲解。第一步:批量生成名称;这一步最重要的就是...

excel引用文件名为变量
这类需求,如果用函数,Excel只有Indirect可以转变字符串成为引用。但是由于Indirect是易失性函数,也就是说在所引用的单元格参与计算时都会更新,所以,你要在单元格的值变化前先打开所要引用的文件,Indirect才能得到正确的结果。这样,对于楼主的需求来说就没有意义了。楼主的需求,需要使用VBA来实现 ...

excel里面公式如何用公式INDIRECT再取单元格的值
=INDIRECT("'E:\\greentown\\A.2012年绿城系统费用汇总表\\0000\\["&C2&".xls]费用表'!$C$5")输入公式后要打开该工作薄单元格内容才会引用过来

EXCEL中如何引用ADDRESS返回的地址的单元格?
ADDRESS(2,A1)得到单元格地址的文本表述,也就是A2 如果是要引用SHEET2的A2单元格,可以用 =INDIRECT("sheet2!"&ADDRESS(2,A1))INDIRECT的作用是取得文本描述的单元格引用

这个表中的公式我看不懂,譬如E5单元格公式=INDIRECT($C$2&"!"&P5&...
像这个公式,只用了一个函数“INDIRECT”,这个函数的意思,是将参数里的文本,转为单元格数据的引用。那么参数就是一个文本字符串,而这个文本字符串又是以单元格内容和一些字符连接起来的,“&”是文本连接运算符。C$2&"!"&P5&$C$7,就是C2(存放工作表名的单元格)、!(工作表的标志符号)、...

相似回答