
INDIRECT函数:返回文本字符串所指定的引用。
INDIRECT(ref_text,[a1])
1、参数加引号与不加引号的区别

在C4单元格输入公式:=INDIRECT(“B2”)
加了引号的参数为文本,INDIRECT函数直接返回B2单元格内容,即返回C2。

在C6单元格输入公式:=INDIRECT(B2)
不加引号的参数为直接引用,INDIRECT函数先返回B2单元格中的内容C2,再引用C2单元格中的内容,即返回爱知趣教育。
2、R1C1样式

在C8单元格输入公式:=INDIRECT(“R2C3”,0)
R2C3中R代表行,C代表列,2行3列即C2单元格,返回爱知趣教育。
如果INDIRECT函数的第二参数为TRUE(1)或省略,第一参数为A1样式的引用;
如果INDIRECT函数的第二参数为FALSE(0),第一参数为R1C1样式的引用。
3、制作二级下拉菜单

选中E列,在【数据】选项卡下选择【数据验证】,在弹出的【数据验证】窗口中设置如下:

选中区域A1:C6,按<F5>键调出【定位】对话框,【定位条件】-选择【常量】,点【确定】

(这一操作是为了排除下拉菜单中出现空白单元格)
在【公式】选项卡下选择【根据所选内容创建】,点【确定】

选中F列,在【数据】选项卡下选择【数据验证】

来源输入公式:=INDIRECT(E1),点【确定】

4、一列转多行多列

输入公式:
=INDIRECT(“a”&3*ROW(A1)-3+COLUMN(A1))&””,公式向右向下填充。
3*ROW(A1)-3+COLUMN(A1)部分构造如下序列:

要引用A列的数据,所以在前面添加”a”&

用INDIRECT函数对单元格地址的引用,从而返回对应单元格的内容。
5、交叉查询

输入公式:
=INDIRECT(“R”&MATCH(A13,A1:A9,)&”C”&MATCH(B13,A1:F1,),0)
用了INDIRECT函数的R1C1样式的方法;
MATCH(A13,A1:A9,)部分算出A13单元格内容品名6在区域A1:A9中的位置7;
MATCH(B13,A1:F1,) 部分算出B13单元格内容华中地区在区域A1:F1中的位置4;
R1C1样式,INDIRECT函数的第二参数为FALSE或0;
R7C4即D7单元格,返回5047。
6、多表查询
下图为销售一部、销售二部、销售三部的各业务员的销售额:

现在要在查询表中查询不同部门各业务员的销售额:

面对这样一种多表查询,该怎么实现呢?

输入公式:
=VLOOKUP(B2,INDIRECT(A2&”!A:B”),2,0)
7、多表汇总
下图为我司1-6月各业务员的销售额:

有童鞋会提出来,直接用=SUM(‘*’!B2)不就可以了吗?
你确定吗?
由上图可以看出,各表中A列的业务员顺序不一致,使用公式SUM(‘*’!B2)会返回错误的结果,那么面对这种情况,该怎么办呢?

输入公式:
=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$6)&”月!a:a”),A2,INDIRECT(ROW($1:$6)&”月!b:b”)))
好了,今天的分享到此结束啦!觉得赞的朋友们欢迎点♥ 分享 收藏 评论呀!么么哒~
内容来源: Excel教程自学平台