我的 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$")