新浪博客

Excel-indirect函数

2017-03-23 17:29阅读:
Indirect函数:间接引用函数
一、 认识indirect单元格引用:
1. 了解indirect函数的意义与语法:将单元格地址翻译成单元格中的内容
Indirect函数对单元格的两种引用方式:
l 通过引用单元格内的地址,返回单元格内的地址对应的单元格中的值
l 对单元格内文本的引用:将引用地址套上双引号,然后再传递给INDIRECT函数;
Excel-indirect函数通过f10中的地址e10,引用
pan >e10的内容;
或者:=indirect(“e10”);
2. Indirect函数与index函数引用方式的对比:
index函数与indirect函数分别实现: Excel-indirect函数
要引用的e列结果值所在的行数分别为:4,9,14,19,24
要引用的e列结果值所在的单元格地址分别为:E4,E9,E14,E19,E24
当前行的地址行数分别为:5,6,7,8,9
当前行每增加一行,原数据所在的行增加5行,则当前行与原数据所在行存在关系:row()*5,即将当前行放大五倍,再找与原数据所在行的关系:结果展示: Excel-indirect函数;
3. 处理跨表:
实现: Excel-indirect函数1~12月的表结构均一致,且业绩都在G2单元格的位置:
思路:indirect函数的参数为单元格地址,现在需要写出单元格地址即可:
在表的b4单元格中直接引用,即为='1'!G2b5='2'!G2,,,以此类推。此时在b4中直接引用的数据即为要引用的值所在的单元格地址,而1=a4G2固定不变,则有:b4: =A4&'!G2',返回结果为:1!G2,即为所要的单元格地址,故函数为:=INDIRECT(A4&'!G2'):用文本描述的方式将要引用的单元格的地址表示出,再用indirect函数将地址单元格对应的值返回即可;
实现:跨表引用行数位置不固定: Excel-indirect函数1~12月的表结构均一致,且业绩都在G列,但是张三所在的行数不固定,可能为G2,G3,,,,等等: 直接在B4单元格中用vlookup函数:=VLOOKUP('张三','1'!A:G,7,0)
更改vlookup函数,使得:
² 函数中第二参数月份变化,区域列不变;
² 函数第二参数返回的为区域为值,不为单元格地址:indirect函数,将文本连接的单元格地址返回为单元格中的值:则B4为:
=VLOOKUP('张三',INDIRECT(A4&'!A:G'),7,0)
实现: Excel-indirect函数1~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返回值时,为区域内容;
实现: Excel-indirect函数 步骤:
1) 选中b2:b13区域,公式:名称管理器:定义名称,名称:张三,引用位置此时为所选的绝对引用的b2:b13区域,同时定义李四、王五、赵六等;此时选中b2:b13区域,可在名称框中看到为张三,相当于张三为此单元格区域的地址;
2) 此时在空白单元格处输入:=sum(张三),此时自动计算出张三所代表的区域的值的和;
3) 通过设置数据有效性,实现对单元格范围和的引用:选择G3单元格,设置数据有效性,数据来源为:=$B$1:$E$1,此时在H3中输入:
=SUM(INDIRECT(G3))即可;
2, 制作二级下拉列表:
实现: Excel-indirect函数 数据:数据验证:只有允许值为序列时,才会制作下拉列表。 步骤:
1) 选择F4单元格,数据:数据验证:允许值:序列,数据来源:=$A$3:$C$3
2) 选择A4A13区域,公式,名称管理器:定义名称,名称:吉林省,引用位置为当前单元格区域,同时定义江苏省与广东省;
3) 选中G4单元格,数据:数据验证:允许值:序列,数据来源:=INDIRECT($F$4)即可;

我的更多文章

下载客户端阅读体验更佳

APP专享