实例分析INDIRECT函数

乍一看(尤其是在阅读帮助时),函数 间接 (间接) 看起来很简单,甚至没有必要。 其本质是将看起来像链接的文本变成完整的链接。 那些。 如果我们需要引用单元格A1,那么我们可以习惯性地做一个直接链接(在D1中输入等号,点击A1并回车),或者我们可以使用 间接 出于同样的目的:

实例分析INDIRECT函数

请注意,函数参数(对 A1 的引用)是用引号括起来的,因此实际上这里是文本。

“好吧,好吧,”你说。 “还有什么好处?” 

但不要以第一印象来判断——它具有欺骗性。 此功能可以在很多情况下为您提供帮助。

示例 1. 转置

该流派的经典之作:您需要转动垂直直径

凹槽到水平(移调)。 当然,您可以使用特殊的插入或函数 运输 (移调) 在数组公式中,但您可以使用我们的 间接:

实例分析INDIRECT函数

逻辑很简单:要获得下一个单元格的地址,我们将字母“A”与特殊字符“&”和函数提供给我们的当前单元格的列号粘合在一起 COLUMN (柱子).

相反的过程最好做一些不同的事情。 由于这一次我们需要对单元格B2、C2、D2等形成链接,所以使用R1C1链接模式代替经典的“海战”会更方便。 在这种模式下,我们的单元格将仅在列号上有所不同:B2=R1C2,C2=R1C3,D2=R1C4 等等

这是第二个可选函数参数的来源。 间接. 如果相等 说谎 (错误的),则可以在 R1C1 模式下设置链接地址。 所以我们可以很容易地将水平范围转回垂直:

实例分析INDIRECT函数

示例 2. 按区间求和

我们已经分析了一种使用函数在工作表上给定大小的窗口(范围)求和的方法 处置 (抵消). 类似的问题也可以使用 间接. 如果我们只需要汇总某个范围内的数据,那么我们可以将它从片段中粘合起来,然后将其变成一个完整的链接,我们可以将其插入到函数中 SUM (和):

实例分析INDIRECT函数

示例 3. 智能表下拉列表

有时 Microsoft Excel 不会将智能表名称和列视为完整链接。 因此,例如,当尝试创建下拉列表(选项卡 数据——数据验证) 基于列 员工 从智能表 员工 我们会得到一个错误:

实例分析INDIRECT函数

如果我们用我们的函数“包装”链接 间接, 那么 Excel 将很容易接受它并且我们的下拉列表将在将新员工添加到智能表的末尾时动态更新:

实例分析INDIRECT函数

示例 4. 牢不可破的链接

如您所知,在工作表上插入或删除行列时,Excel 会自动更正公式中的引用地址。 在大多数情况下,这是正确且方便的,但并非总是如此。 假设我们需要将员工目录中的姓名传输到报告中:

实例分析INDIRECT函数

如果您放置常规链接(在第一个绿色单元格中输入=B2并将其复制下来),那么当您删除时,例如Dasha,我们将得到#LINK! 与她对应的绿色单元格中的错误。 (#REF!)。 在使用函数创建链接的情况下 间接 不会有这样的问题。

示例 5:从多个工作表中收集数据

假设我们有 5 张表格,其中包含来自不同员工(Mikhail、Elena、Ivan、Sergey、Dmitry)的相同类型的报告:

实例分析INDIRECT函数

让我们假设所有表格中货物和月份的形状、大小、位置和顺序都相同——只是数字不同。

您可以只用一个公式从所有工作表中收集数据(不要总结,而是将它们放在一个“堆”中):

实例分析INDIRECT函数

如您所见,想法是相同的:我们将链接粘贴到给定工作表的所需单元格,然后 间接 把它变成“现场”。 为方便起见,在表格上方,我添加了列的字母(B、C、D),并在右侧添加了需要从每张表中获取的行号。

陷阱

如果您在使用 间接 (间接) 你需要记住它的弱点:

  • 如果您链接到另一个文件(通过在方括号中粘贴文件名、工作表名称和单元格地址),则它仅在原始文件打开时才有效。 如果我们关闭它,我们会收到错误 #LINK!
  • INDIRECT 不能引用动态命名范围。 在静态 - 没问题。
  • INDIRECT 是一个易失或“易失”的函数,即,它会针对工作表的任何单元格中的任何变化进行重新计算,而不仅仅是影响单元格,就像在正常函数中那样。 这对性能有不好的影响,最好不要被大型 INDIRECT 表冲昏头脑。

  • 如何使用自动调整大小创建动态范围
  • 使用 OFFSET 函数对工作表上的范围窗口求和

 

发表评论