Excel-indirect函数

标签:
学习交流 |
分类: EXCEL学习 |
Indirect函数:间接引用函数
一、
1.
Indirect函数对单元格的两种引用方式:
l
l
http://s14/small/002ZiCFRzy79Jn0Uqu1cd&690通过f10中的地址e10,引用e10的内容;
或者:=indirect(“e10”);
2.
用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月'!G2,b5:='2月'!G2,,,以此类推。此时在b4中直接引用的数据即为要引用的值所在的单元格地址,而1月=a4,G2固定不变,则有:b4: =A4&"!G2",返回结果为:1月!G2,即为所要的单元格地址,故函数为:=INDIRECT(A4&"!G2"):用文本描述的方式将要引用的单元格的地址表示出,再用indirect函数将地址单元格对应的值返回即可;
实现:跨表引用行数位置不固定:http://s11/small/002ZiCFRzy79Jn8JTdM2a&690,1月~12月的表结构均一致,且业绩都在G列,但是张三所在的行数不固定,可能为G2,G3,,,,等等:直接在B4单元格中用vlookup函数:=VLOOKUP("张三",'1月'!A:G,7,0)
更改vlookup函数,使得:
²
²
=VLOOKUP("张三",INDIRECT(A4&"!A:G"),7,0);
实现:http://s10/small/002ZiCFRzy79Jnaqnj3a9&690,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函数的参数中,在最前面+“'”,在!之前+’;
二、
1,
步骤:
1)
2)
3)
=SUM(INDIRECT(G3))即可;
2,
步骤:
1)
2)
3)