引用外部表时强制 Excel 保留 sheet 名称

Force Excel to keep sheet name when referencing external tables

有没有办法强制excel自动从"rewriting"外部引用的地址?

例子

当我将鼠标悬停在另一个工作簿中 select 作为源的 table 时,公式栏显示如下:

=[WorbookName.xlsx]SheetName!TblName

按回车键后,公式栏显示如下:

=WorbookName.xlsx!TblName [#Data]

删除括号和 sheet 名称并添加 [#Data]。

我确认 excel 通过使用间接并强制 excel 使用完整引用

理解名称为 sheet 的地址
=INDIRECT([WorbookName.xlsx]SheetName!TblName)

所以它不受 excel 的限制。然而,这仅证明 excel 可以处理该引用样式。问题是,当您使用间接时,您实际上并没有为源文件创建 "link",如果源文件关闭,您的工作簿将永远不会要求更新值。


我需要强制 excel 在参考中保留 table 名称,因为我将上传到 OneDrive 并共同创作工作簿。当您在另一个工作簿中引用 table 并且该工作簿已关闭时,引用会更改为包含您的 OneDrive 的网址,如下所示

source file open:   =WorbookName.xlsx!TblName [#Data]
source file closed: =https://d.docs.live.net/location/FileName.xlsx'!TableName

我认为这会导致错误,阻止 excel 更新值。当我第一次打开包含链接的工作簿时,它会尝试更新到最新数据。当我使用常规范围时,它没有问题。当我使用 tables 时,我得到 "we cant update some of the links in your workbook right now"。如果你去编辑链接,它看起来像这样: Edit Link

如果您尝试更新这些值,您将看到这个,注意它正在寻找一个工作sheet,但它期望的名称实际上是工作簿的名称。 Select Sheet

我相信这是因为当你引用一个范围时,地址是这样写的:

Rance referance =https ://d.docs.live.net/Loacation/[FileName.xlsx]SheetName!$A:$D
table referance =https ://d.docs.live.net/location/FileName.xlsx'!TableName

注意感叹号的位置不一样!观点。我相信这就是 excel 将工作簿名称显示为工作 sheet 正在寻找的原因。同样,如果您使用间接方式,您可以强制 excel 使用 "long" 地址,因此我们知道 excel 可以毫无问题地识别它。

非常希望找到解决方案,在此先感谢!

这是您尝试执行的替代方法。

我做了一些测试,如果文件保存在 OneDrive 中,您可以打开它(从 OneDrive 而不是本地)并使用 PowerQuery 刷新数据。

创建查询的步骤:

在Chrome中:

  1. 在 Onedrive 中找到源文件(又名:https://onedrive.live.com/
  2. 在googleChrome中下载文件(我们需要在下一步获取下载link)
  3. 单击 Chrome 右上角的省略号,然后单击“下载”(或按 Ctrl + J)
  4. 右击下载文件的link,select复制

在Excel...

  1. 点击数据 |获取数据 |来自其他来源 |来自网络(我现在没有英文版本,但你应该可以找到它)
  2. 粘贴URL
  3. 点击确定
  4. Select Sheet/Table(进行您可能需要的任何转换)
  5. 单击关闭并加载到...
  6. Select一个sheet或任何位置
  7. 按确定

现在做任何反对那个的公式table

如前所述,我对在另一个实例中打开的文件进行了一些测试,然后刷新 table,它成功了。

如果你有,请告诉我。


编辑:

根据您的评论,(虽然我没有测试)我做了一些研究,了解如何使用默认共享 links 来实现这一点。

步骤如下:

在Chrome中:

  1. 找到并 select Onedrive 中的源文件(又名:https://onedrive.live.com/
  2. 单击 Share 并生成 view/edit link
  3. 复制 link

截至目前,link 应如下所示:

https://1drv.ms/x/s!ArAKssDW3T7wnIIEvmhHrMxfvhowww?e=UsaATm 

这里的关键是把ms替换成ws,所以你需要在Excel中使用的link应该是这样的:

https://1drv.ws/x/s!ArAKssDW3T7wnIIEvmhHrMxfvhowww?e=UsaATm 

在Excel中:

  1. 点击数据 |获取数据 |来自其他来源 |来自网络(我现在没有英文版本,但你应该可以找到它)
  2. 粘贴URL
  3. 点击确定
  4. 右击显示 1dr.ws
  5. 的图标
  6. Select 并单击 Excel
  7. 继续其他转换