【问题标题】:Reference Excel files getting filename from a cell参考 Excel 文件从单元格中获取文件名
【发布时间】:2016-08-03 06:32:55
【问题描述】:

我想从不同的 excel 文件(比如 File-AAA.xlsx、File-ABC.xlsx 等)中获取值。 ¿我如何在不手动输入文件名的“ABC”部分的情况下引用所述文件,而是从当前工作表中获取它

在示例中,我们希望从当前工作表中获取 File-ABC.xlsx 文件中的 A1 和 A2 的值,并将它们相加。

例如,在 B2 中,而不是写作:

    =SUM('\\server\path\[File-ABC.xlsx]Data'!A1:A2)

我希望能够写成

    =SUM('\\server\path\[File-*REFERENCE TO CELL*.xlsx]Data'!A1:A2)

其中*REFERENCE TO CELL* 是寻找的文本字符串,它引用包含“ABC”(A2) 的单元格。

【问题讨论】:

    标签: excel excel-formula


    【解决方案1】:

    您可以为此使用 间接 功能。 像这样 -

    =SUM(INDIRECT("'\\server\path\[File-"&A2&".xlsx]Data'!A1"&":"&"A2"))
    

    Edit-1: 您可以使用相同的语法来引用您想要的本地目录,只需将 \server\path[File- 替换为新目录的路径即可。浏览到相关文件夹后,您可以从文件资源管理器中复制路径。

    例如。从您的评论中获取路径(更正后)

    =SUM(INDIRECT("'C:\Users\PeteThePanda\Spreadsheets[File-"&A3&".xlsx]Data'!A1"&‌​":"&"A2"))
    

    【讨论】:

    • fwiw,INDIRECT function 不能用于引用已关闭的外部工作簿。
    • 这成功了!但是如果它是本地文件,例如位于 C 驱动器中,我无法弄清楚语法。如果文件位于“ C:\Users\PeteThePanda\Spreadsheets\ ”目录中怎么办?您能否为其他情况提供一个示例?
    • 我在答案编辑中提供了一个示例。希望对您有所帮助。
    • 谢谢!我知道了!但是,我不得不对您提供的示例进行一些调整。实际工作示例是 =SUM(INDIRECT("'C:\Users\PeteThePanda\Spreadsheets[File-"&A3&".xlsx]Data'!A1"&":"&"A2"))。请进行编辑,以便我标记为已完全回答。
    • 感谢您告诉我。很高兴能帮上忙。
    【解决方案2】:

    一个更直接的方法是在总和之外设置一个条件语句,例如如果当前工作簿中A2的值为ABC,则走这条路并带入总和。

    例如

    =if(A2="ABC",sum('\\server\path\[File-ABC.xlsx]Data'!A1:A2),if(A2="AAA", sum('\\server\path\[File-AAA.xlsx]Data'!A1:A2),"No File"))

    注意,如果有更多文件,您可以添加额外的嵌套 IF。如果我写了“无文件”,那就开始一个新的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多