引用外部表时强制 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中:
- 在 Onedrive 中找到源文件(又名:https://onedrive.live.com/)
- 在googleChrome中下载文件(我们需要在下一步获取下载link)
- 单击 Chrome 右上角的省略号,然后单击“下载”(或按 Ctrl + J)
- 右击下载文件的link,select复制
在Excel...
- 点击数据 |获取数据 |来自其他来源 |来自网络(我现在没有英文版本,但你应该可以找到它)
- 粘贴URL
- 点击确定
- Select Sheet/Table(进行您可能需要的任何转换)
- 单击关闭并加载到...
- Select一个sheet或任何位置
- 按确定
现在做任何反对那个的公式table
如前所述,我对在另一个实例中打开的文件进行了一些测试,然后刷新 table,它成功了。
如果你有,请告诉我。
编辑:
根据您的评论,(虽然我没有测试)我做了一些研究,了解如何使用默认共享 links 来实现这一点。
步骤如下:
在Chrome中:
- 找到并 select Onedrive 中的源文件(又名:https://onedrive.live.com/)
- 单击
Share
并生成 view/edit link
- 复制 link
截至目前,link 应如下所示:
https://1drv.ms/x/s!ArAKssDW3T7wnIIEvmhHrMxfvhowww?e=UsaATm
这里的关键是把ms
替换成ws
,所以你需要在Excel中使用的link应该是这样的:
https://1drv.ws/x/s!ArAKssDW3T7wnIIEvmhHrMxfvhowww?e=UsaATm
在Excel中:
- 点击数据 |获取数据 |来自其他来源 |来自网络(我现在没有英文版本,但你应该可以找到它)
- 粘贴URL
- 点击确定
- 右击显示
1dr.ws
的图标
- Select 并单击
Excel
- 继续其他转换
有没有办法强制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中:
- 在 Onedrive 中找到源文件(又名:https://onedrive.live.com/)
- 在googleChrome中下载文件(我们需要在下一步获取下载link)
- 单击 Chrome 右上角的省略号,然后单击“下载”(或按 Ctrl + J)
- 右击下载文件的link,select复制
在Excel...
- 点击数据 |获取数据 |来自其他来源 |来自网络(我现在没有英文版本,但你应该可以找到它)
- 粘贴URL
- 点击确定
- Select Sheet/Table(进行您可能需要的任何转换)
- 单击关闭并加载到...
- Select一个sheet或任何位置
- 按确定
现在做任何反对那个的公式table
如前所述,我对在另一个实例中打开的文件进行了一些测试,然后刷新 table,它成功了。
如果你有,请告诉我。
编辑:
根据您的评论,(虽然我没有测试)我做了一些研究,了解如何使用默认共享 links 来实现这一点。
步骤如下:
在Chrome中:
- 找到并 select Onedrive 中的源文件(又名:https://onedrive.live.com/)
- 单击
Share
并生成 view/edit link - 复制 link
截至目前,link 应如下所示:
https://1drv.ms/x/s!ArAKssDW3T7wnIIEvmhHrMxfvhowww?e=UsaATm
这里的关键是把ms
替换成ws
,所以你需要在Excel中使用的link应该是这样的:
https://1drv.ws/x/s!ArAKssDW3T7wnIIEvmhHrMxfvhowww?e=UsaATm
在Excel中:
- 点击数据 |获取数据 |来自其他来源 |来自网络(我现在没有英文版本,但你应该可以找到它)
- 粘贴URL
- 点击确定
- 右击显示
1dr.ws
的图标
- Select 并单击
Excel
- 继续其他转换