在Excel公式中使用连接字符串来获取单元格值

时间:2015-09-04 08:05:19

标签: excel

我有一张名为Vessel Reading 1的工作表。我想将单元格D4的值读入另一张工作表。 'Vessel Reading 1'!D4正确地给了我价值。

但是,我希望能够获得最新的数字,而不仅仅是“船只阅读1”。例如。如果我有五张名为' Vessel Reading 1 to 5',我想阅读名为' Vessel Reading 5'的表格中的值。基本上,'Vessel Reading 1'!D4应更改为'Vessel Reading N'!D4,其中N是最新的工作表。

CONCATENATE("Vessel Reading ",RIGHT(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))),1))

上面的表格给出了我想要的表格名称。例如。如果我在表5中,它会给我“船只阅读5”,如果我在表2中,它会给我“船只阅读2'”。

所以,很明显,大部分工作已经到位。可悲的是,当我使用

'CONCATENATE("Vessel Reading ",RIGHT(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))),1))'!D4

它会抛出错误。现在我不确定我在这个公式中缺少什么。

编辑:

基本上,我需要一种方法将concatenate的结果作为字符串来创建单元格引用。

1 个答案:

答案 0 :(得分:1)

如果您将工作表名称的公式放在A1中,那么您可以使用此公式从该工作表中找出D4单元格的值。

=INDIRECT(CONCATENATE("'",A1,"'!D4"))

您可以使用您创建的代码替换上面公式中的A1,以找出工作表,并且所有代码都将采用单个公式。完整的公式看起来像

=INDIRECT(CONCATENATE("'",CONCATENATE("Vessel Reading ",RIGHT(RIGHT(CELL("filename",A1),LEN(CELL("filename",A1))-FIND("]",CELL("filename",A1))),1)),"'!D4"))