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

yumo6667个月前 (05-18)技术文章48

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


今天我要给大家介绍的是,一个经常被忽略,常年做配角的函数——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 函数的参数小结~


欢迎在留言区和我们分享~

相关文章

Excel 函数讲解:COLUMNS 函数,批量掌握列数技巧

常用函数系列教学:ExcelCOLUMNS函数讲解(56)。不懂COLUMNS函数,怎么借列数实现高效数据管理?闲话少叙,直接开讲。基本含义:COLUMNS函数用于计算指定数组或单元格区域的列数,如何...

COLUMNS函数:虽然我们不常见,但我懂你,你也懂我?

大家好!最近有点忙,很久没有与大家见面了。今天函数哥向大家分享COLUMNS函数的使用方法。COLUMNS函数使用的方法非常简单,单独使用的情况也非常少。还是先来看看COLMNS函数的使用魅力吧!是不...

Excel函数之列函数COLUMN和COLUMNS

COLUMN一般用来返回当前的列数就是属于第几列第几列COLUMNS用来返回选中的区域中的列数另外有些函数简单不代表它用途小,主要看你怎么用,先学会再根据函数的特性组合形成新的功能,或者符合你需求的功...

职场人必备的15个excel函数公式,简单易懂,快速提高工作效率

Hello.大家好,今天跟大家分享15个Excel函数公式,都是我们工作中经常用到的公式,工作中遇到类似的问题,可直接套用,快速提高工作效率,话不多说,下面就让我们来一起学习下吧1. 身份证号码提取出...

老板让我制作五星评定,我不会,同事说用excel三步就能搞定

Hello,大家好,今天跟大家分享下,我们如何在excel制作星级评定,效果如下图,在这里我们是使用条件格式制作的,因为使用条件格式设置这样的效果,我们还可以设置半颗星星的效果,它的操作也并不难,下面...

「Excel2019自学教程」2.8 函数5-Column函数(返回列号值)

COLUMN函数用于返回单元格或单元格区域首列的列号,返回值为一个或一组正整数。它只有一个参数,就是求列号的单元格或单元格区域。当参数缺省时,返回公式所在单元格的列号。如果参数为一个单元格区域,那么返...