Excel高手必备的最为灵活实用的引用函数:Indirect

 
 
 

Excel高手必备的最为灵活实用的引用函数:Indirect

 

1、什么是Indirect函数?

Indirect函数称之为间接引用函数,间接引用固然是直接引用而言的。直接引用很是简单,我在任意一个单元格输入公式:“=a1”,那么将获得A1单元格的值。而间接引用则彻底不一样。若是我想经过间接引用函数返回a1单元格的值,我输入的公式为:=indirect('a1',1),这样才能获得A1的值。那么间接引用的优点是是什么呢?文章开头我已经说了答案了,那就是很是灵活,你们注意到indirect函数的参数加了引号,表示是文本。既然是文本,咱们就能够灵活地编辑引用地址。这一点是直接引用作不到的。下面简单来看一下这个函数吧:函数

Excel高手必备的最为灵活实用的引用函数:Indirect

indirect函数3d

例如:在下图中,咱们输入“=indirect('d1')”,公式将会直接计算d1单元格的值,也就是a1;而若是咱们输入“=indirect(d1)”,公式将直接引用D1单元格的内容“a1”,而后再返回'a1'单元格的值,最后获得的结果就是“indirect函数”(简单来讲计算了2次,第一次:由“=indirect(d1)”获得“=indirect('a1')”;第二次:由“=indirect('a1')”获得最终的值“indirect函数”)blog

Excel高手必备的最为灵活实用的引用函数:Indirect

indirect函数案例table

indirect函数如此灵活,在工做中咱们如何去应用,下面咱们先来看一个简单案例。class

2、利用Indirect函数跨表统计工资

以下图所示,如何汇总不一样sheet中的工资总额汇总到下表中呢?2010年到2012年三个sheet中的表格结构彻底同样,以下图中右下角表格所示。效率

Excel高手必备的最为灵活实用的引用函数:Indirect

源数据变量

不少同窗可能会想到把这三张表所有复制粘贴到一个sheet里在进行统计,然而在sheet不少的状况下,经过这样的办法效率实在是过低。绝不夸张地说,你有可能花上一个小时都干不完的活,Excel高手一条公式一分钟都要不了就搞定了。下面咱们来看看利用Indirect函数来作。引用

思路:首先获得每一个sheet的B列,而后外层嵌套一个sum函数求和便可获得每一年的汇总了。公式以下:方法

=SUM(INDIRECT(A12&'!B:B'))im

向下拖拽公式,轻松完成个sheet的统计。

indirect函数,直接引用a12获得sheet的名称,使用“&”连接上“!b:b”,引用的是X表格B列的区域,外加一个sum函数便可汇总每一年的销售总额。

3、利用indirect函数快速作数据表转置

仍是先来看看我们的需求,如何将左侧表格快速转化右侧表格的样式呢?方法有不少,包括利用我们以前介绍过的index函数均可以轻松作出来,下面咱们来介绍如何利用Indirect函数来作。

Excel高手必备的最为灵活实用的引用函数:Indirect

从左边的样式到右边的样式

思路:

1.要获得右侧的表格的样式,我但愿将左侧表格的每个单元格名称直接放在右侧表中,以下图所示:

Excel高手必备的最为灵活实用的引用函数:Indirect

首先咱们想办法获得这样的引用样式

如何获得这样的样式呢?因为咱们是由一列变成多行多列,所以列号不变,都是A,惟一变的是行号。咱们要思考的是当咱们向右填充公式时,行号可以从左向右依次增大(1,2,3,4……),向下填充公式时,行号可以以等差数列的方式增大(0,4,8,12)?针对第一个需求,咱们能够用公式“=column(a1)”来作,针对第二个需求,咱们能够用这样一个公式“=(row(a1)-1)*4”来实现,所以要获得上图中的地址,咱们能够利用以下的公式获得:

='A'&33+column(a1)+(row(a1)-1)*4

2.在咱们获得单元格地址外层嵌套一个indirect函数便可获得我们右侧图表的样式了。最终公式为:

=indirect(='A'&33+column(a1)+(row(a1)-1)*4)

Excel高手必备的最为灵活实用的引用函数:Indirect

一条公式搞定

轻松搞定了一列变多列的数据转置了吧?

4、利用Indirect函数作多表数据条件汇总

以下图所示,如何快速统计:2010年到2012年这三年中,业绩超过150万的人数?

Excel高手必备的最为灵活实用的引用函数:Indirect

每一个sheet的表格结构都和上图右下角的一致

思路:

首先利用indirect函数获得全部sheetB列的数据,下一步利用countif函数进行人数统计就能够了。

1.这个引用惟一的变量是表格(年份数字是变量)名称,咱们能够利用函数row获得:=row(2010:2012)。所以咱们的indirect函数能够这样写:

=indirect(row(2010:2012)&'年!b:b')

2.接下来就简单了,在完成嵌套一个countif函数就能够完成条件计数的汇总了。最终公式以下:

{=COUNTIF(INDIRECT(ROW(2010:2012)&'年!b:b'),'>150')}

相关文章
相关标签/搜索