INDIRECT 函数 (一)
大家好,今天将分节介绍indirect函数及其相关用法,indirect函数经常与其他函数嵌套使用,下一节还将详细介绍利用indirect函数实现多级关联下拉菜单。
下面从基础用法开始介绍。
INDIRECT函数的功能是返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。
函数表达式为=INDIRECT(ref_text, [a1])
参数:Ref_text 是必需,对单元格的引用。如果ref_text不是正确的单元格的引用,函数返回错误值#REF!或#NAME?。如果ref_text是对另一个工作簿的引用(外部引用),则工作簿必须被打开。如果源工作簿没有打开,函数返回错误值#REF!
第二参数a1 可选,用于指定包含在单元格 ref_text 中的引用的类型。如果 a1为 TRUE或省略,ref_text被解释为 A1-样式的引用。如果 a1为 FALSE,则将 ref_text解释为 R1C1样式的引用。
Tips:A1-样式,就是常用的行号用数字,列标用大写字母表示单元格的方式:而R1C1样式,其中R代表ROW(行),C代表COLUMN(列)是行各列都使用数字的表示方式,了解即可。
我们通过实例来介绍indirect函数的基础用法。
可以看到两个公式的参数都是单元格引用,主要区别参数是否加了引号。当公式为=INDIRECT(A1)时,它实际是先返回A1单元格中的文本B1,再引用B1单元格中内容得到结果是苹果。而=INDIRECT(“A1”)公式则是直接引用A1这个单元格的内容。得到的结果是B1,建议最好自行尝试下。
在介绍indirect函数多工作表合并之前,先简单复习下基础的跨表引用。实例如下图,分别有四个月份的产品销售量,位置都是一致的,我希望将四个表的数据汇总到“一季度”表中。以一月份的数据为例。
按基础的做法,在”一季度“表中的B2单元格加等号后,点击“一月”工作表的B2单元格。公式栏中直接显示=一月!B2。然后向下复制,同理二月份,公式为=二月!B2,向下复制即可,但这样不适合大量工作数据。
下面我们就利用indirect函数做一个统一的公式,同时满足向左和向下复制适用。这就需要寻找相似的规律。首先向左比较一月!B2和二月!B2,主要是工作表的月份不同,可以通过更改字符实现。而向下则行号发生变化,利用ROW()即可解决。
这里输入公式为=INDIRECT(B$1&'!B'&ROW())
具体分析公式中的参数B$1&'!B'&ROW()。其中B$1主要用于返回不同的月份。在公式向左复制时可以分别变为C$1、D$1、E$1、对应的返回的值依次为一月、二月、三月、四月。
然后用连接符&连接'!B',这里不需要改变的部分,所以加引号用文本表示。最后ROW()用于返回行号,主要用于向下复制公式时行号的变化。
本节介绍到这里,下节将介绍indirect函数实现多级下拉菜单的用法,祝大家学习愉快咯。
Live and Learn
联系客服