一、Indirect函数简介
1、基本用法:可将一个字符表达式或名称转为地址引用。
【举例1】单元格中A1的值为100
= A1 会返回值100。
= "A1" ,返回字符串 A1
= indirect("A1") ,则会返回100
= Indirect("A" & 1),会返回 100
2、用法:在引用地址中,插入变量,并使用&连接起来,再使用indirect函数将字符串转为引用。即可做到动态引用。
二、indriect函数应用
1、生成二级下拉菜单
步骤1:设置数据源区域。将手机名称和型号整理为如下图的格式,作为备用,存放位置可任意。

步骤2:批量定义名称。选取手机名称和型号区域之后,打开指定名称窗口,(在excel2003版中,插入菜单 - 定义 - 指定,07和10版 公式选项卡 - 定义的名称组 - 根据所选内容创建),选择窗口中的“首行”复选框。如下:

步骤3:设置数据有效性。首先选取型号列,之后打开数据有效性的窗口,在来源中,输入:=indirect(D5)

按照如下设置之后,二级联动菜单,即可设置完成。
2、多表合并
如下图,需要将每天销售明细合并至汇总表内。
日报如下:

日报合并如下:

公式为:=INDIRECT(B$1&"!B"&ROW())
公式解释:
B$1&"!B"&ROW(),按照ROW函数生成的行号,来生成单元格地址。当 公式在第2行时,ROW()结果为2,B$1&"!B"&ROW()的结果即是:
1!B2
3、多表查找
【举例】在工资表模板中,每个部门是一个表。
在查询表内,需要按照提供的姓名,从销售~综合这5个工作表中,查询该员工基本工资。

公式为
:=VLOOKUP(A2,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT({"销售";"服务";"人事";"综合";"财务"}&"!a:a"),A2),{"销售";"服务";"人事";"综合";"财务"})&"!a:g"),7,0)
4、多表求和
【举例】如下所示,有1日~5日5个列相同、但行数不同的明细表,需要汇总出各产品销量之和。
分表:
汇总表如下:

公式为:
=SUMPRODUCT(SUMIF(INDIRECT(ROW($1:$5)&"日!b:b"),A2,INDIRECT(ROW($1:$5)&"日!c:c")))
以上就是今天和大家分享的Indirect函数的使用方法。