加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

EXCEL技巧四十三:excel中indirect函数使用方法和应用实例

(2011-08-16 21:49:56)
标签:

杂谈

excel中indirect函数,根据帮助,可以知道是返回并显示指定引用的内容。使用INDIRECT函数可引用其他工作簿的名称、工作表名称和单元格引用。

  第一,indirect函数对单元格引用的两种方式。
  
看下图,使用indirect函数在C2、C3引用A1单元格的内容。

http://www.ittribalwo.com/upfiles/201106/20110628230420219.gif
 
  1、=INDIRECT("A1"),结果为C3。这种使用,简单的讲,就是将这些引用地址套上双引号,然后再传递给INDIRECT函数。
  2、=INDIRECT(C1),结果为C2。解释:因为C1的值就是 "A1",在公式编辑栏,选中“C1”,然后按下F9键,计算值,可以看到变为“"A1"”,本质没变,都是对单元格引用。
  上面两者的区别在于:前者是A1单元格内文本的引用,后者是引用的C1单元格内的地址引用的单元格的内容。

  第二,indirect函数工作表名称的引用。
  如下图所示:

http://www.ittribalwo.com/upfiles/201106/20110628230440774.gif
 
  如果需要在“二班”工作表,计算“一班”工作表B2:B11的成绩总和。可以使用这样的 公式:=SUM(INDIRECT("一班!B2:B11"))。解释:indirect(“工作表名!单元格区域”)
  另外一种情况:当工作表名称直接是数字的,在工作表名称两边必须添加上一对单引号。

http://www.ittribalwo.com/upfiles/201106/20110628230528129.gif

  同样的,在“2”工作表,计算“1”工作表B2:B11的成绩总和。公式为:=SUM(INDIRECT("'1'!B2:B11"))。解释:indirect(“’工作表名’!单元格区域”)
  总结:如果工作表名为汉字,工作表名前后可以加上一对单引号,也可以不加。但是数字和一些特殊字符时,必须加单引号,否则不能得到正确结果。
  我们在工作表命名时形成习惯尽量不要有空格和符号,这样可以不怕indirect引用忘记加单引号括起来。要么形成习惯所有indirect带工作表名引用时都用单引号将代表工作表名的字符串括起来。

  第三,INDIRECT函数对工作簿引用的书写方式和细节正确写法
  =INDIRECT("[工作簿名.xls]工作表表名!单元格地址")
  INDIRECT函数,如果是对另一个工作簿的引用(外部引用),则那个工作簿必须被打开。如果源工作簿没有打开,函数 INDIRECT 返回错误值 #REF!。

  第四,Indirect函数应用实例一:制作多级下拉菜单
  其原理是利用定义名称,然后在单元格输入与定义名称相同的字符再对含有这种字符的单元格用Indirect作引用。
  具体实例请参考论坛《数据有效性:多级下拉菜单制作》

  第五:Indirect函数应用实例二:
  统计五个班最低平均成绩
  本应用实例就是利用常量数组分别表示五个工作表的数据区,再用INDIRECT函数将字符串转换成区域引用。

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有