Excel - 不使用 INDIRECT() 创建单元格引用

Excel - 不使用 INDIRECT() 创建单元格引用

我有一个较大的 Excel 文件,其中包含一个摘要页面,该页面从多个工作表中提取数据(此情况下不允许使用宏)。在摘要中,我需要对其他工作表中的单元格进行简单引用(例如 ='foo'!A1)。但是,由于工作表数量众多,直接链接单元格是一项相当繁琐的任务,因此我使用辅助列来引用要链接的单元格的工作表、行和列。目前,我在这种情况下使用 INDIRECT 函数,该函数按以下形式按预期工作:

=INDIRECT(ADDRESS("Rows helper", "Columns helper", 1,1,"Worksheet helper"))

由于其易变性,INDIRECT 函数会显著降低工作表的速度,并使文件几乎无法使用。我现在的问题是,对于这种不使用宏的用例,是否有非易变的替代方案。

非常感谢您的建议!

以下是上面描述的 Excel 表的一个示例。

附言:我可以在开发阶段使用宏,但是在开发的大部分完成后我需要将其删除。

答案1

由于您似乎已经映射了要引用的单元格,我们可以使用它来生成直接单元格引用公式。 这样做需要三个步骤:

  1. 将公式更改为:="="&ADDRESS("Rows helper", "Columns helper", 1,1,"Worksheet helper")
  2. 选择整个公式范围,复制,然后将特殊值粘贴到位。这将为您提供显示公式但实际上不执行任何操作的单元格范围。
  3. 在仍选择范围的情况下,对等号 (=) 执行查找/替换。您需要将所有等号替换为等号。这会强制将文本读取为公式而不是文本。

如果您愿意,您可以删除辅助条目。

相关内容