当前位置:首页 > 科技 > 正文

偷偷学会这个小众高能函数,我再也没有加过班

大家好,我是工作忙疯了的绿水零。


今天我要给大家介绍的是,一个经常被忽略,常年做配角的函数——INDIRECT。


在英文里,INIDRECT 是不直接、间接的意思。因此它的作用顾名思义就是间接引用。

好家伙,名字自带拐弯抹角。

偷偷学会这个小众高能函数,我再也没有加过班


但 INDIRECT 函数真的是个非常好用的函数!!和不同函数组合使用可以发挥超强的功能。

往下看

INDIRECT+SUM=跨表求和

将各月份 B2:B5 单元格的数据求和,并且汇总到季度合计工作表中。

▋INDIRECT+VLOOKUP=跨多表查询

加上 VLOOKUP 就可以实现跨多表查询。

偷偷学会这个小众高能函数,我再也没有加过班

INDIRECT+定义名称+数据有效性=多级下拉菜单

之前,我们就介绍过多级下拉菜单的制作方法,它里面就用到了 INDIRECT 哦~

偷偷学会这个小众高能函数,我再也没有加过班


知其然并且知其所以然,我们才能更好地举一反三,熟练应用。

下面,有请今天的主角 INDIRECT 函数登场~ (今天的案例在 Excel 和 WPS 中均可使用。)

01 基本用法

基本用法:

=INDIRECT(文本格式的引用地址, 引用地址的样式)

INDIRECT 函数只有两个参数。


第一个参数是引用地址,要求格式为文本:


想引用 A2 单元格的值,需要用英文的双引号框起来(如'A2')。


A2 单元格的值是 A1,直接写 INDIRECT(A2)的结果等同于 INDIRECT('A1')。

偷偷学会这个小众高能函数,我再也没有加过班

第二个参数是引用地址的样式,有下列两种情况:

TRUE 或省略,引用格式为 A1 样式;

FALSE,引用格式为 R1C1 样式;


看不懂没关系,我们举几个例子,来看下 INDIRECT 函数几种基本使用方法。

偷偷学会这个小众高能函数,我再也没有加过班

TYPE 01:A1 样式引用

A1 样式,即用字母表示列号,数字表示行号以确定单元格的地址。

A5=INDIRECT('A1')

「A1」就表示地址为 A 列第 1 行的单元格,用 INDIRECT 引用 A1 的结果就是 A1 单元格的值。

▋TYPE 02:R1C1 样式引用

R1C1 样式,R 是行(Row)的英文简写,C 是列(Column)的英文简写,所以 R1C1 表示的是第一行第一列的单元格。

A5=INDIRECT('R1C1',FALSE)
偷偷学会这个小众高能函数,我再也没有加过班

这里 R1C1 也同样要用英文的双引号引起来,而第二个参数为 FALSE。

▋TYPE 03:名称引用

Excel 或 WPS 表格中有个叫名称管理器的东西,利用它,我们可以将指定区域(可以是一个单元格,也可以是一个区域;可以是静态区域,也可以是动态区域)定义为一个方便记忆和使用的名称。

在使用 INDIRECT 函数的名称引用前,就先需要定义名称。

这里我将 B 列的单元格定义为 A 列同一行的名称,那么熊大就等同于 B2 单元格,值是 101;


熊二就等同于 B3 单元格,值是 102……

偷偷学会这个小众高能函数,我再也没有加过班


公式:

=INDIRECT('熊大')


这里使用 INDIRECT 引用「熊大」就直接显示 B2 单元格的值 101 了。


引用名称时同样需要注意要用双引号引起来。

我们在定义名称时使用的其实是 A1 样式,所以第二个参数就省略了。

02 进阶用法——跨表引用

数据汇总永远是 Exceller 跨不过的坎,躲不过的命。

现在这里就有两张图,需要把图 1 中每个月的销售报表数据,汇总到图 2 季度汇总这个表里。

而每个月报表的结构是完全相同的。

偷偷学会这个小众高能函数,我再也没有加过班
偷偷学会这个小众高能函数,我再也没有加过班


这种情况下,复制黏贴是不可能滴!

我们有更快捷的方法——有请 INDIRECT 函数上场。

公式:

=INDIRECT(B$1&'!B'&ROW())
偷偷学会这个小众高能函数,我再也没有加过班


需要汇总的数据分别在三个不同的表,但是工作表的结构是完全相同的。

那么我们可以组合出动态的表名(工作表名称!)+单元格位置(如 B2),然后用 INDIRECT 函数对其进行引用。

▋组合出引用地址

在 Excel 中跨表引用的格式是是表名+「!」,例如'1 月'!B2 就是引用工作表 1 月的 B2 单元格。

(这里 1 月用单引号''引起来是因为它是字符串,在公式栏中使用字符串都需要用引号引起来。)

偷偷学会这个小众高能函数,我再也没有加过班


我们的目标就是要组合出'X 月'!BX 这种动态地址。

B2=B$1&'!B'&ROW()


(这里引用的 B1 单元格的值,本身就是字符串,所以无需再用引号。)

偷偷学会这个小众高能函数,我再也没有加过班

▋套用 INDIRECT 进行间接引用

接着把组合出来的动态地址套上 INDIRECT 这个帽子就 OK 啦~

偷偷学会这个小众高能函数,我再也没有加过班


公式:

=INDIRECT(B$1&'!B'&ROW())


掌握 INDIRECT 函数的使用,你就可以实现:动态引用单元格区域、名称区域、其他工作表区域,甚至其他工作簿区域的功能。


而且配合其他有区域参数的函数使用更香!


例如我们开篇演示的加上 SUM 函数实现跨表求和、加上 VLOOKUP 实现跨多表查询等等~

03 总结

INDIRECT 函数的参数小结~

偷偷学会这个小众高能函数,我再也没有加过班

有话要说...

取消
扫码支持 支付码