分享

Excel函数应用篇:Indirect()函数

 每天学学Excel 2022-02-15

之前已经介绍过几个常用的查找和引用函数,譬如Vlookup()函数、Index()和Match()函数,今日我们来认识一个新的引用函数Indirect()函数。

Indirect()函数主要功能是返回文本字符串所指定的引用,其语法结构为:Indirect(ref_text,[a1]),其中:

第一个参数ref_text代表表示地址的字符串,函数将返回该字符串所代表地址的引用。地址可以是“A1”或者“R1C1”两种引用样式,解释一下什么是“A1”和“R1C1”引用:

“A1”是系统默认的列标加行号的单元格表示方法,譬如我们通常用单元格“B3”表示下图中光标选中的单元格。

“R1C1”则是字母标记加上行号和列号的表示方法,“R”后面的数字表示行号,“C”后面的数字表示列号,列标A对应1,以此类推。上图光标选中单元格可以表示为“R3C2”。

第二个参数[a1]是可选项,缺省时表示第一个参数采用“A1”引用样式,“0”或者“False”时表示第一个参数采用“R1C1”引用样式。

因为第一个参数是表示文本的字符串,所以输入的地址要加上表示文本的双引号,否则可能报错。

以上图为例,以下三种方式都可以准确返回单元格B3的引用:

“=INDIRECT("B3")”;

“=INDIRECT("R3C2",0)”;

“=INDIRECT(A9)”,也可以将一个引用地址作为参数,此时不需要加双引号,则系统会读取引用地址中的内容作为字符串地址参数,但该内容必须是一个引用地址的格式,否则会报错(如上图)。

根据文本可以灵活拼接的特点,Indirect()函数在不同工作簿和工作表的引用中发挥重要作用,我们用两个例子来感受一下:

1、提取不同工作表的数据

工作表“产品1”、“产品2”和“产品3”的数据排列如下。

在工作表“查询”的单元格键入公式“=SUBTOTAL(4,INDIRECT({"产品1";"产品2";"产品3"}&"!$C$3:$C$7"))”,则能够很快计算出不同工作表中产品的最大销量。

{"产品1";"产品2";"产品3"}是一个包括三个数据项的常量数组,通过连接符“&”连接"!$C$3:$C$7",定义三个相应工作表的单元格区域,然后通过Indirect()函数分别三次返回数组中单元格区域引用。

Subtotal()函数返回一组数据的分类汇总,第一个参数为“4”时返回最大值,因此返回Indirect()函数所返回单元格区域引用的最大值,即每产品的最大销量。

该函数中用到了数组,关于数组公式的运算规则请参阅知道这些Excel数组概念和运算规则,数组公式就豁然开朗了。数组公式需要Ctrl+Shift和Enter三键一起确认,否则可能会报错。

2、制作动态图表

在单元格A1中选择不同产品,数据表格和图表自动更新。

步骤如下:

首先是利用数据有效性生成单元格A1的选择框,点击“数据”选项卡,点击“数据有效性”,在对话框中,点击“允许”下拉框,选择“序列”,在来源中键入工作表名称“产品1,产品2,产品3”。

然后生成数据表格,在单元格B3键入公式“=INDIRECT($A$1&"!B"&ROW())”,在单元格C3键入公式“=INDIRECT($A$1&"!C"&ROW())”,然后下拉复制。

ROW()函数返回所在单元格的行数字,在此处用ROW()而不是数字“3”是为了公式复制时适用。

选择数据表格,插入“簇状柱形图”。

最后,用“照相机”功能添加一个动态标签。光标选中单元格A1,点击“照相机”图标。

然后用光标点击合适位置放置复制的图片链接,该图片链接将根据单元格A1的内容动态更新。照相机功能请参阅帮你的Excel装部照相机吧,电子表格也可以轻松实现动态图片

如果没有安装“照相机”功能键,常规复制之后点击“开始”选项卡,点击“粘贴”按钮,选择“以图片格式”的“粘贴图片链接”也可以实现同样的效果。

Indirect()函数的作用Get到了吗?

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多