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

Excel-indirect函数

(2017-03-23 17:29:31)
标签:

学习

交流

分类: EXCEL学习

Indirect函数:间接引用函数

一、        认识indirect单元格引用:

1.     了解indirect函数的意义与语法:将单元格地址翻译成单元格中的内容

Indirect函数对单元格的两种引用方式:

l  通过引用单元格内的地址,返回单元格内的地址对应的单元格中的值

l  对单元格内文本的引用:将引用地址套上双引号,然后再传递给INDIRECT函数;

http://s14/small/002ZiCFRzy79Jn0Uqu1cd&690通过f10中的地址e10,引用e10的内容;

或者:=indirect(“e10”);

2.     Indirect函数与index函数引用方式的对比:

index函数与indirect函数分别实现:http://s9/small/002ZiCFRzy79Jn2K2xyb8&690

要引用的e列结果值所在的行数分别为:4,9,14,19,24

要引用的e列结果值所在的单元格地址分别为:E4,E9,E14,E19,E24

当前行的地址行数分别为:5,6,7,8,9

当前行每增加一行,原数据所在的行增加5行,则当前行与原数据所在行存在关系:row()*5,即将当前行放大五倍,再找与原数据所在行的关系:结果展示:http://s14/small/002ZiCFRzy79Jn5nrKl1d&690;

3.     处理跨表:

实现:http://s14/small/002ZiCFRzy79Jn74vqB1d&6901~12月的表结构均一致,且业绩都在G2单元格的位置:

思路:indirect函数的参数为单元格地址,现在需要写出单元格地址即可:

在表的b4单元格中直接引用,即为='1'!G2b5='2'!G2,,,以此类推。此时在b4中直接引用的数据即为要引用的值所在的单元格地址,而1=a4G2固定不变,则有:b4: =A4&"!G2",返回结果为:1!G2,即为所要的单元格地址,故函数为:=INDIRECT(A4&"!G2"):用文本描述的方式将要引用的单元格的地址表示出,再用indirect函数将地址单元格对应的值返回即可;

实现:跨表引用行数位置不固定:http://s11/small/002ZiCFRzy79Jn8JTdM2a&6901~12月的表结构均一致,且业绩都在G列,但是张三所在的行数不固定,可能为G2,G3,,,,等等:

直接在B4单元格中用vlookup函数:=VLOOKUP("张三",'1'!A:G,7,0)

更改vlookup函数,使得:

²  函数中第二参数月份变化,区域列不变;

²  函数第二参数返回的为区域为值,不为单元格地址:indirect函数,将文本连接的单元格地址返回为单元格中的值:则B4为:

=VLOOKUP("张三",INDIRECT(A4&"!A:G"),7,0)

实现:http://s10/small/002ZiCFRzy79Jnaqnj3a9&6901~12月的表结构均一致,且业绩都在G列,但是张三等人所在的行数不固定,可能为G2,G3,,,,等等:

B3单元格中公式为:=VLOOKUP(B$2,INDIRECT($A3&"!$A:$G"),7,0)

4.     跨表引用时的单引号问题:

引用时若出现引用公式书写正确但是返回值仍为错误的问题,则可能是因为表名称不规范,则要用一对单引号进行修正:假设excel工作表中1月为1 月的格式,且excel工作簿中的工作表的表名称也为1,则上述公式更改为:

=VLOOKUP(B$2,INDIRECT("'"&$A3&"'!$A:$G"),7,0)indirect函数的参数中,在最前面+',在!之前+’;

二、        Indirect函数名称引用:

1,        为区域定义名称:给某一区域定义名称之后,用indirect返回值时,为区域内容;

实现:http://s10/small/002ZiCFRzy79Jncgu0199&690

步骤:

1)     选中b2:b13区域,公式:名称管理器:定义名称,名称:张三,引用位置此时为所选的绝对引用的b2:b13区域,同时定义李四、王五、赵六等;此时选中b2:b13区域,可在名称框中看到为张三,相当于张三为此单元格区域的地址;

2)     此时在空白单元格处输入:=sum(张三),此时自动计算出张三所代表的区域的值的和;

3)     通过设置数据有效性,实现对单元格范围和的引用:选择G3单元格,设置数据有效性,数据来源为:=$B$1:$E$1,此时在H3中输入:

=SUM(INDIRECT(G3))即可;

2,        制作二级下拉列表:

实现:http://s1/small/002ZiCFRzy79JneaaAM80&690
数据:数据验证:只有允许值为序列时,才会制作下拉列表。

步骤:

1)     选择F4单元格,数据:数据验证:允许值:序列,数据来源:=$A$3:$C$3

2)     选择A4A13区域,公式,名称管理器:定义名称,名称:吉林省,引用位置为当前单元格区域,同时定义江苏省与广东省;

3)     选中G4单元格,数据:数据验证:允许值:序列,数据来源:=INDIRECT($F$4)即可;









0

阅读 收藏 喜欢 打印举报/Report
前一篇:Excel-宏表函数
  

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

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

新浪公司 版权所有