我希望执行此功能来创建摘要文件。我已将不同的 Excel 工作表的文件路径复制到单元格中,从而将它们附加到其中。通过针对每张工作表中的特定数据单元格(同一列,相同数量的单元格),我可以创建摘要,方法是将它们的文件路径插入到摘要工作簿的行中。这里的挑战是尽量避免使用“查找和替换”功能反复更改工作表的名称。我最多将连接 300 张工作表。老实说,我怀疑自己能否有这么大的摘要,但我需要为不那么精明的其他用户提供保障。我想不出开发宏来执行此操作的方法,也找不到“填充”命令中任何有用的内容。
如果有更好的方法可以做到这一点,而不走这条路,我也会接受。
答案1
间接方法:需要打开工作簿
您可以使用
=INDIRECT("'[full path or URL incl filename]" & "Sheetname" & "'!" & "A1")
幸运的是,要使此功能正常工作,必须在 Excel 中打开 INDIRECT 引用的文件。这是因为 Excel 无法创建、管理和同步永久文件链接 - 我认为这对您不起作用。
公式视图方法:查找文本并将其替换为公式
您可以使用一个巧妙的技巧,虽然不是完全自动化的,但也足够容易做到:将文件路径和名称放在 B1 中,将工作表名称放在 C1 中,将引用(作为文本)放在 D1 中,然后在 E1 中:
="#'["&B1&"]"&C1&"'!"&D1
这将创建一个看起来像公式的文本字符串,以 # 而不是 = 符号开头。要将其转换为活动公式,首先选择整个 E 列,然后将其作为值复制粘贴到 F 列。现在按 CTRL+` 启用公式视图。选择 F 列,按 CTRL+H 进行查找和替换,然后将所有 # 符号“替换”为 = 符号。再次按 CTRL+``,一切就绪。
Google 表格方法
Google Sheets IMPORTRANGE 运行良好。每个子文件在您的 Google Drive 上都有一个唯一的 URL。您甚至可以与他人共享这些子文件以供编辑和更新。摘要/主表可以组合 URL 字符串(到每个文件)以及工作表名称和引用,方式与上述方式大致相同。然后,您可以共享该主表,也许可以将其作为只读形式共享给其他用户。
全自动 VBA 方法
要使用完全可变的单元格链接(如使用 INDIRECT),但不需要打开工作簿,则需要 VBA。请在 Google 上搜索“Harlan Grove PULL 函数”或类似的“VBA 间接链接到外部工作簿而无需打开文件”。