前言:很多同学想了解indirect详细用法,兰色就把原来分享过的一篇教程重新推送给同学们。 也许在excel中你认为vlookup查找最牛、Sumifs求和最牛,但它们都可以用其他函数所替换,而最有一个函数却无法用其他函数替代,高手写的公式中经常会有它的身影。它就是: Indirect函数 一、Indirect函数简介 1、基本用法:可以把一个字符表达式或名称转换为地址引用。在excel也只有它可以实现这样的功能。 【例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函数用法都是基本用法,真正高级的用法是在数组公式中的应用,以后兰色整理后会再分享出来。 |
|