如何通过表格标题引用另一个工作表上的单元格

如何通过表格标题引用另一个工作表上的单元格

我的 Excel 有多个工作表。

计划是我的“主”工作表上的表格将引用另一个工作表中的数据 - 我相信这是很常见的事情

我正在尝试动态构建语法,引用表格中的字符串作为工作表名称。例如,如果单元格中有单词purchases,那么我也会有一个名为 purchases 的工作表。

在这种情况下,我的“主”工作表中有下表

      A            
1   purchases    
2  FORMULA NEEDED

如您所见,我需要输入公式

我的努力就是这个

从当前单元格(A2)获取位于 A1 中的表格标题。

=ADDRESS(1,COLUMN())

(我选择使用,COLUMN因为我最终将拥有超过 1 列)

太好了,又回来了Purchases

根据 Excel 语法,这引用了另一个工作表的单元格。

='购买'!B4

因此,我只需要将它们结合起来......应该我想要的是

=INDIRECT(ADDRESS(1,COLUMN())!$B4)

但如果失败了,给我#REF!

我做错了什么?我知道我漏掉了单引号,但我现在很迷茫

如果我删除它INDIRECT显示$A$1!$B4

在我的实际应用中,我使用日期(在上面的例子中,我使用了purchases),所以这是一个屏幕截图

在此处输入图片描述

当我尝试评估时,它会经历以下步骤

=INDIRECT(ADDRESS(1,COLUMN())&"!$B4$")

然后

=INDIRECT(ADDRESS(1,3)&"!$B4$")

然后

=INDIRECT("$C$1"&"!$B4$")

然后

=INDIRECT("$C$1!$B4$")

然后

#REF!

答案1

您几乎已经完成了,只需进行一些改进:

=INDIRECT(ADDRESS(1,COLUMN())&"!$B4$")

相关内容