今天咱们来学习INDIRECT函数。
这个函数的作用,是将“具有引用样式的文本字符串,变成真正的引用”。
参数也非常简单:
INDIRECT(具有引用样式的字符串,[引用样式])
如果第二参数为TRUE或省略(包括参数值和逗号),会将第一参数中的字符串解释为A1样式的引用,如果第二参数为FALSE或是0,则将第一参数中的字符串解释为R1C1样式的引用。
具体啥是A1引用样式,啥是R1C1引用样式呢?
咱们日常使用的工作表里,默认就是A1引用样式,也就是用字母列标,用数字表示行号,两者组合到一起,来表示一个单元格的地址:
如果在Excel选项里选中了“R1C1”引用样式,工作表中的行号、列标就会都变成数值。此时使用“R行号C列号”的形式来表示一个单元格的地址:
接下来咱们先看看这个函数的引用过程。
如下图所示,B2单元格中是具有引用样式的字符“E3”,E3单元格中的内容是“我是E3”。
G3使用以下公式,返回结果为“我是E3”。
=INDIRECT(B2)
这个公式里,INDIRECT函数的参数是B2单元格,INDIRECT函数把B2单元格中带有引用样式的字符“E3”变成了E3单元格的实际引用,最终返回E3单元格里的内容。
再看下图中G3单元格中的公式:
=INDIRECT(“E3”)
这个公式里,INDIRECT函数的参数“E3”带有双引号,说明“E3”仅仅是一个文本字符串,而不是单元格地址,INDIRECT函数把带有引用样式的字符“E3”变成了E3单元格的实际引用,最终返回E3单元格里的内容。
接下来看一个多表汇总的实例。
如下图所示,有名为“十里河”、“饮马井”、“大洋路”和“方 庄”的几个工作表,现在要从“汇总”工作表里,汇总这几个工作表中的H列合计数。
在“多表汇总”工作表的C3单元格输入以下公式,下拉:
=SUM(INDIRECT(“‘”&B3&”‘!H:H”))
这个公式里,INDIRECT函数的参数看起来多了一些奇怪的符号,是什么意思呢?
这里面的参数以&为间隔,分成了三段:
“‘” 这部分是一对双引号,中间是一个单引号。其中的单引号就是咱们要得到的字符,一对双引号是在公式中输入字符串时,在字符串外面必须要加上的。
B3 表示B3单元格的地址。
“‘!H:H” 这部分外侧是一对双引号,表示双引号里面是字符串,中间的字符串是’!H:H。
这三部分组合起来,就是带有单引号的工作表名称以及具体的单元格地址了。
咱们在编辑栏中选中 “‘”&B3&”‘!H:H” 这部分,按F9键看看,得到的字符串就是:”‘十里河’!H:H”
在工作表名称前后各有一个单引号,是什么意思呢?
这是因为“方 庄”这个工作表名称里带有空格了,如果引用工作表名称中包含有空格等特殊符号或以数字开头时,就需要在公式中的工作表名前后加上一对半角单引号。而工作表名称中没有空格或特殊符号的,这对单引号加或不加都可以。
INDIRECT函数把字符串”‘十里河’!H:H”变成实际的引用后,再使用SUM函数求和,OK了。
接下来咱们看看INDIRECT函数结合R1C1样式的用法。
如下图所示,要在汇总工作表中,汇总出几个明细表不同月份的总额。
首先来观察一下,在十里河等几个明细表里,1月份的数据在B列,2月份的数据在C列……
在汇总工作表里,C3单元格的公式可以写成这样,然后下拉:
=SUM(INDIRECT(“‘”&B3&”‘!B:B”))
上一篇:'$'作用真不小,公式学习离不了 下一篇:Excel数据透视表实战案例
郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。