Excel如何在公式中引用其他单元格存储的外部工作簿文件名
动态引用外部工作簿的SUMIF实现方案
使用INDIRECT函数拼接引用路径即可实现文件名单元格配置,无需每次手动修改公式内的文件路径,操作如下:
- 指定固定单元格存储外部工作簿与对应工作表的引用片段,例如选择当前工作表
C1单元格,填入原公式中的引用段22May UoE Weight Data ECC.xlsx]Card (Clean)即可。后续切换数据源时,仅修改该单元格内容就能完成所有引用的批量更新。 - 将原有固定引用的SUMIF公式替换为动态拼接版本:
=SUMIF(INDIRECT("'["&$C$1&"'!$N:$N"),A3,INDIRECT("'["&$C$1&"'!$E:$E"))
注意将公式中的$C$1替换为你实际存放文件名的单元格地址,添加绝对引用符$是为了避免公式下拉、右拉时引用位置发生偏移。
使用注意
INDIRECT是易失性函数,仅在被引用的外部工作簿处于打开状态时能正常返回结果,外部工作簿关闭时公式会返回#REF!错误。- 若外部工作簿与当前文件不在同一文件夹路径下,需要在存储引用段的单元格内补全文件完整本地路径,例如填写
D:\项目数据集\22May UoE Weight Data ECC.xlsx]Card (Clean),否则公式无法定位目标文件。 - 若需要在外部工作簿关闭状态下也正常计算,可以使用Power Query配置动态数据源实现一键刷新,也可以通过定义名称配合
GET.WORKBOOK宏表函数实现,后者需要启用宏权限才能运行。
内容的提问来源于stack exchange,提问作者Dave
相关产品推荐
相关产品推荐

