绕来绕去的INDIRECT函数和大家见面了!

速写

前言

INDIRECT函数的用法

INDIRECT是间接的意思,INDIRECT函数也就是间接引用的意思,INDIRECT函数返回由文本字符串指定的引用

语法为:

INDIRECT(引用, [a1])

引用:可以为文本或其它单元格引用

A1为逻辑值

如果 a1 为 TRUE 或省略,引用 被解释为 A1-样式的引用。

如果 a1 为 FALSE,则将 引用 解释为 R1C1 样式的引用。

1A1与R1C1样式

下面解释一下A1与R1C1样式!

通常情况下,我们使用的样式均为A1样式,当使用A1样式时,列用A,B,C,D…字母表示,行用1,2,3,…数字表示。如果A1要引用B5单元格,单元格A1的公式为=B5,此为相对引用,绝对引用则为:=$B$5

在R1C1样式下,行和列均用1,2,3,4表示。还是刚才的公式,当设置R1C1格式时,单元格A1的公式自动变成R[4]C[1]

,此为相对引用,如果绝对引用则为=R5C2

A1与R1C1的转换设置:

选项-公式-R1CI样式 打勾

由于我们绝大部分用不着R1C1样式,所以INDIRECT函数可以简化为只有一个参数就够了,其它更高级的可以慢慢研究!

2INDIRECT(引用) 入门

引用有两种方式

1、文本格式,需要用引号引起来

A7=INDIRECT(“A1”)=C2

返回A1单元格的值C2

2、单元格地址引用

A7=INDIRECT(A1)

这里的A1没有引号,则为地址引用,因为A1单元格的内容为C2

所以:A7=INDIRECT(A1)=INDIRECT(“C2”)=10

返回值为C2单元格的内容为10

是不是有点绕?这就像你要找一件东西,有的人会直接告诉你东西在某个柜子里,有的人会告诉你,他把柜子的地址写在记事本上了,你要查一下笔记本,才能知道在哪个柜子里。

那么INDIRECT绕来绕去有什么用呢?还是举个列子来说吧?

3INDIRECT(引用) 实例

有这样一个工作薄,不同的项目分别为一个工作表,且以项目号命名,数据格式相同,如何在总表中分别求出各项目的人力之和。

1、通常做法

在B2单元格中输入公式=SUM(H256!B:B)

但此公式不支持下拉填充,必须逐个手动选择每个工作表,输入公式或选择数据区域。

2、INDIRECT做法

在B2中输入公式=SUM(INDIRECT($A2&”!B:B”)),此公式直接用鼠标下拉就可以拖拽填充。

因为此公式把工作表名称分离了出来,放在A列,从而把工作表变成了一个动态参数,INDIRECT函数再把这个参数和后面的字符串连接起来组成一个新的文本字符串,演变如下:

SUM(INDIRECT($A2&”!B:B”))=SUM(INDIRECT(“H256”&”!B:B”))=SUM(INDIRECT(“H256!B:B”))=SUM(H256!B:B),和通常的公式是一个套路,只是把一些参数由固定的值变成了动态变化的量,从而使工作变得简单。

总结

相信你还有一些不太明白的地方,如有问题可以留言,我会尽力解答,晚安!


END

(0)

相关推荐