大家好,我是工作很忙的绿水玲。
今天要给大家介绍的是一个常年被人忽略却起着配角作用的函数——INDIRECT。
在英语中,INIDRECT 表示不直接或间接。 所以它的作用顾名思义就是间接引用。
好家伙,名字来个曲折。
但是INDIRECT函数真的是一个非常有用的函数! ! 可与不同功能组合使用,发挥超强功能。
往下看
▋INDIRECT SUM=跨表求和
将每个月B2:B5单元格的数据求和,汇总到季度合计工作表中。
▋INDIRECT VLOOKUP=跨多表查询
加入VLOOKUP可以实现跨多表查询。
▋INDIRECT定义名称数据有效性=多级下拉菜单
之前我们介绍了如何制作多级下拉菜单,其中使用了INDIRECT ~
p>
知道了它是什么,为什么会这样,我们才能更好地举一反三,熟练应用。
下面,就来介绍一下今天的主角,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列第一行的单元格,通过INDIRECT引用的 A1 的结果是单元格 A1 的值。
▋TYPE 02:R1C1样式参考
R1C1样式,R是行(Row)的英文缩写,C是列(Column)的英文缩写,所以R1C1代表 first 一行中第一列的单元格。
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())
要汇总的数据 分别在三个不同的sheet中,但是sheet的结构是完全一样的。
那么我们可以结合动态表名(工作表名!)单元格位置(比如B2),然后使用INDIRECT函数来引用。
▋合并引用地址
Excel中跨表引用的格式为表名“!”,例如’January’!B2指代的B2 工作表 January Cell。
(这里,January用单引号”括起来,因为它是字符串,公式栏中使用的任何字符串都需要用引号括起来。)
我们的 目标是结合’X月’的动态地址!BX。
B2=B$1&"!B"&ROW()
(这里引用的B1单元格的值本身就是一个字符串,所以有 不需要再用引号了。)
▋应用INDIRECT进行间接引用
然后把合并后的动态地址套在INDIRECT的帽子上就OK啦~
公式 :
=INDIRECT(B$1&"!B"&ROW())
掌握INDIRECT的使用 函数,您可以实现:动态引用单元格范围、名称范围、其他工作表范围,甚至其他工作簿范围。
而且和其他有area参数的函数一起使用更香!
比如我们一开始演示了我们添加SUM函数实现跨表求和,加上VLOOKUP实现跨表查询等~
03 总结
INDIRECT函数的参数汇总~
欢迎在留言区与我们分享~