You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在SharePoint中使用CONCATENATE创建工作簿链接失败的解决方案咨询

解决SharePoint工作簿动态链接并获取数据的问题

为什么你的方法失效

INDIRECT函数仅能引用当前已打开的本地工作簿或同一工作簿内的单元格,无法直接解析未打开的SharePoint在线工作簿路径,因此会返回错误。

可行解决方案

方案1:使用Power Query(推荐,稳定且支持自动刷新)

Power Query可以灵活参数化工作簿名称,稳定获取SharePoint在线工作簿的数据:

  • 点击「数据」选项卡 → 「获取数据」→ 「从文件」→ 「从工作簿」
  • 在弹出对话框中,输入拼接好的SharePoint路径(例如https://companyname.sharepoint.com/sites/exact path/&B1),点击确定
  • 在Power Query编辑器中,选择要获取的工作表(Sheet1)和目标单元格范围(A1)
  • 点击「主页」→ 「关闭并上载」,将数据加载到当前工作表
  • 实现动态更新的步骤:
    1. 进入Power Query编辑器,点击「主页」→ 「高级编辑器」
    2. 定义工作簿名称参数:workbookName = Excel.CurrentWorkbook(){[Name="B1"]}[Content]{0}[Column1]
    3. 构建完整路径:sourcePath = "https://companyname.sharepoint.com/sites/exact path/" & workbookName
    4. 保存设置后,右键加载的数据区域 → 「刷新」即可根据B1的新名称更新数据

如果只需快速跳转到目标单元格并手动获取数据,可用HYPERLINK函数创建可点击链接:
在B2单元格输入:

=HYPERLINK("https://companyname.sharepoint.com/sites/exact path/"&B1&"#Sheet1!A1", "打开目标单元格")

点击链接会直接打开目标工作簿的对应单元格,可手动复制数据到B3。

方案3:Excel 365动态数组函数(需目标工作簿已打开)

若目标工作簿处于打开状态,可用LET函数简化路径拼接后结合INDIRECT:
在B3单元格输入:

=LET(
    path, "'https://companyname.sharepoint.com/sites/exact path/["&B1&"]Sheet1'!A1",
    INDIRECT(path)
)

注意:此方法仅在目标工作簿已在本地打开时生效,关闭后会返回错误。

内容的提问来源于stack exchange,提问作者Nika Levidze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.29 23:25:06