zl程序教程

您现在的位置是:首页 >  Java

当前栏目

Excel: 通过Indirect函数和Address函数引用单元格数据

2023-02-18 16:32:47 时间

文章背景:公式引用无效单元格时将显示 #REF! 错误。当公式所引用的单元格被删除或被粘贴覆盖时最常发生这种情况。因此,不推荐在函数中使用显式单元格引用。通过Indirect函数和Address函数,可以实现单元格的间接引用。

1 Indirect函数

2 Address函数

3 综合应用

1 Indirect函数

返回由文本字符串指定的引用。此函数立即对引用进行计算,并显示其内容。如果需要更改公式中对单元格的引用,而不更改公式本身,请使用函数 INDIRECT。

INDIRECT(ref_text, [a1])

  • Ref_text 必需。对包含 A1 样式引用、R1C1 样式引用、定义为引用的名称作为文本字符串对单元格的引用的单元格的引用。如果ref_text不是有效的单元格引用,则 INDIRECT 返回#REF!错误值。
  • A1 可选。一个逻辑值,用于指定包含在单元格 ref_text 中的引用的类型。
    • 如果 a1 为 TRUE 或省略,ref_text 被解释为 A1-样式的引用。
    • 如果 a1 为 FALSE,则将 ref_text 解释为 R1C1 样式的引用。

    示例:

2 Address函数

你可以使用 ADDRESS 函数,根据指定行号和列号获得工作表中的某个单元格的地址。例如,ADDRESS(2,3) 返回 C2。再例如,ADDRESS(77,300)返回 KN77。可以使用其他函数(如 ROW 和 COLUMN 函数)为 ADDRESS 函数提供行号和列号参数。

ADDRESS(row_num, column_num, [abs_num], [a1], [sheet_text])

  • row_num 必需。一个数值,指定要在单元格引用中使用的行号。
  • column_num 必需。一个数值,指定要在单元格引用中使用的列号。
  • abs_num 可选。一个数值,指定要返回的引用类型。
  • A1 可选。一个逻辑值,指定 A1 或 R1C1 引用样式。在 A1 样式中,列和行将分别按字母和数字顺序添加标签。在 R1C1 引用样式中,列和行均按数字顺序添加标签。如果参数 A1 为 TRUE 或被省略,则 ADDRESS 函数返回 A1 样式引用;如果为 FALSE,则 ADDRESS 函数返回 R1C1 样式引用。
  • sheet_text 可选。一个文本值,指定要用作外部引用的工作表的名称。例如,公式=ADDRESS (1,1,,,"Sheet2")返回 Sheet2!
3 综合应用

在同一张表内进行计算时,单元格间接引用的优势并不明显;然而,在跨表引用单元格时,采用间接引用,可以避免由于单元格被删除或被粘贴覆盖时引发的#REF! 错误。

参考资料:

[1] 如何更正 #REF! 错误(https://support.microsoft.com/zh-cn/office/%E5%A6%82%E4%BD%95%E6%9B%B4%E6%AD%A3-ref-%E9%94%99%E8%AF%AF-822c8e46-e610-4d02-bf29-ec4b8c5ff4be

[2] Excel函数技巧之ADDRESS函数使用详解(https://www.officeyun.net/article/Excel01/1075.html

[3] INDIRECT 函数(https://support.microsoft.com/zh-cn/office/indirect-%E5%87%BD%E6%95%B0-474b3a3a-8a26-4f44-b491-92b6306fa261

[4] ADDRESS 函数(https://support.microsoft.com/zh-cn/office/address-%E5%87%BD%E6%95%B0-d0c26c0d-3991-446b-8de4-ab46431d4f89

[5] ADDRESS函数和INDIRECT函数的综合利用(https://kknews.cc/news/q52rmjg.html