【问题标题】:Excel - using the name of the file (stored in a cell) to reference values from that fileExcel - 使用文件名(存储在单元格中)引用该文件中的值
【发布时间】:2019-11-30 20:01:44
【问题描述】:

在 B1 单元格中,我引用了存储在其他 Excel 文件中的值:

='C:\podatki\Finance\Sp\Predloge\[L2019-1.xlsx]List1'!$A$4

文件名是“L2019-1.xlsx”。

我想使用 A 列作为文件列表:A1 代表名字,A2 代表第二个,等等...)并且我希望 B 列引用 A 列中的文件。

例如,如果 A1 单元格是“Xfiles.xlsx”,那么 B1 将是:

='C:\podatki\Finance\Sp\Predloge\[Xfiles.xlsx]List1'!$A$4

我应该将哪个公式放在路径的 [] 部分中以始终获取正确的文件名称(来自 A 列)?

谢谢。

【问题讨论】:

  • 查找和替换?

标签: excel


【解决方案1】:

我假设您仍然想从L2019-1.xlsx 中的单元格A4 获取值(而不仅仅是引用字符串),对吗?在这种情况下,简单地根据 A1 中的文件名构建参考字符串只会给您一个字符串,而不是来自 A4 中的 L2019-1.xlsx 的值。 您必须将参考字符串放入INDIRECT 函数中才能使其工作。

=INDIRECT("'C:\podatki\Finance\Sp\Predloge\["&A1&"]Sheet1'!$A$4")

请注意,INDIRECT 是一个 volatile 函数,因此过度使用它可能会减慢您的计算速度。

为了使该解决方案起作用,您引用的文件 (L2019-1.xlsx) 必须打开。

【讨论】:

  • 很抱歉,这不起作用。它返回一个错误。即使我将 A1 单元格的内容更改为 L2019-1.xlsx - 所以我添加了文件扩展名。
  • @user3549668 它返回哪个错误?可能是#REF 错误?我忘了提到您的文件 L2019-1.xlsx 必须打开才能使其正常工作(一旦您再次关闭 L2019-1.xlsx,该错误也会重新出现 - 这是因为 INDIRECT 是不稳定的,并且会在您更改某些内容时重新计算在您的工作表中)。
  • 是的,就是这样。所以所有文件都必须打开。谢谢。
猜你喜欢
  • 2017-04-14
  • 1970-01-01
  • 1970-01-01
  • 2018-09-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-01-25
相关资源
最近更新 更多