发布网友 发布时间:2024-08-19 03:54
共1个回答
热心网友 时间:2024-08-22 02:03
excel中indirect函数,根据帮助,可以知道是返回并显示指定引用的内容。使用INDIRECT函数可引用其他工作簿的名称、工作表名称和单元格引用。
第一,indirect函数对单元格引用的两种方式。
看下图,使用indirect函数在C2、C3引用A1单元格的内容。
1、=INDIRECT("A1"),结果为C3。这种使用,简单的讲,就是将这些引用地址套上双引号,然后再传递给INDIRECT函数。
2、=INDIRECT(C1),结果为C2。解释:因为C1的值就是 "A1",在公式编辑栏,选中“C1”,然后按下F9键,计算值,可以看到变为“"A1"”,本质没变,都是对单元格引用。
上面两者的区别在于:前者是A1单元格内文本的引用,后者是引用的C1单元格内的地址引用的单元格的内容。
第二,indirect函数工作表名称的引用。
如下图所示:
如果需要在“二班”工作表,计算“一班”工作表B2:B11的成绩总和。可以使用这样的 公式:=SUM(INDIRECT("一班!B2:B11"))。解释:indirect(“工作表名!单元格区域”)
另外一种情况:当工作表名称直接是数字的,在工作表名称两边必须添加上一对单引号。
同样的,在“2”工作表,计算“1”工作表B2:B11的成绩总和。公式为:=SUM(INDIRECT("'1'!B2:B11"))。解释:indirect(“’工作表名’!单元格区域”)
总结:如果工作表名为汉字,工作表名前后可以加上一对单引号,也可以不加。但是数字和一些特殊字符时,必须加单引号,否则不能得到正确结果。
我们在工作表命名时形成习惯尽量不要有空格和符号,这样可以不怕indirect引用忘记加单引号括起来。要么形成习惯所有indirect带工作表名引用时都用单引号将代表工作表名的字符串括起来。
第三,INDIRECT函数对工作簿引用的书写方式和细节正确写法
=INDIRECT("[工作簿名.xls]工作表表名!单元格地址")
INDIRECT函数,如果是对另一个工作簿的引用(外部引用),则那个工作簿必须被打开。如果源工作簿没有打开,函数 INDIRECT 返回错误值 #REF!。
第四,Indirect函数应用实例一:制作多级下拉菜单
其原理是利用定义名称,然后在单元格输入与定义名称相同的字符再对含有这种字符的单元格用Indirect作引用。