返回目录:excel表格制作
这个可以通过一个返回由文本字符串指定位置的引用函数indirect
这个函数其实就是将你愿不的公式以文本的形式填入进去,举例说明,我建立了三个工作表,表名为1-1、1-2、1-3,并在e5a48de588b6e799bee5baa6338A1单元格填的1、2、3在sheet表中A列分别填写的是1-1、1-2、1-3,原本的公式是=’1-1’!A1
因此公式为:=indirect(”’”&A1&”’!A1”)
如下图
展开说明:
语法
INDIRECT(ref_text,[a1])
Ref_text 为对单元格的引用,此单元格可以包含 A1-样式的引用、R1C1-样式的引用、定义为引用的名称或对文本字符串单元格的引用。如果 ref_text 不是合法的单元格的引用,函数 INDIRECT 返回错误值#REF!或#NAME?。
如果 ref_text 是对另一个工作簿的引用(外部引用),则工作簿必须被打开。如果源工作簿没有打开,函数 INDIRECT 返回错误值#REF!。
a1 为一逻辑值,指明包含在单元格ref_text 中的引用的类型。
如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引用。
如果 a1 为 FALSE,ref_text 被解释为 R1C1-样式的引用。
望采纳,谢谢!
一、需要拖动公式zd时,INDIRECT公式中引用的列标由A变成B,C,D......,这样的要求可以用ADDRESS函数配合取行号版ROW或列号COLUMN的函数进行组合。
二、举例如下
假设原公式为,=INDIRECT("A"&20)
(1)要公式右拉时变成 =INDIRECT("B"&20) =INDIRECT("C"&20) 。。。。。。
则公式可以权改写成:
=INDIRECT(SUBSTITUTE(ADDRESS(1,COLUMN(A1),4),1,)&20)
(2)要公式下拉时变成 =INDIRECT("B"&20) =INDIRECT("C"&20) 。。。。。。
则公式可以改写成:
=INDIRECT(SUBSTITUTE(ADDRESS(1,ROW(A1),4),1,)&20)
indirect函数对单元抄格引用的两种方式。
=INDIRECT("A1"),结果为C3。这种使用,简单的讲,就是百将这些引用地址套上双引号,然后再传递给INDIRECT函数。
=INDIRECT(C1),结果为C2。解释:因为C1的值就是 "A1",在公式编辑栏,选中“C1”,然后按下F9键,计算值,可以看到变为“"A1"”,本质没变,都是对单元格引用。
上面两者的区别在于:前者是A1单元格内文本的度引用,后者是引用的C1单元格内的地址引用的单元格的内容。
刚才回答抄了一个相似的问题袭,正好在这儿能帮到您.
A1:=SUM(INDIRECT(CONCATENATE("'2.10'!百h",COLUMN(A1)+3)),INDIRECT(CONCATENATE("'2.10'!h",COLUMN(A1)+31)))
要用concatenate()将几个字符度串联起来.
供参考,祝顺利.祝新春愉快!