首页 > 解决方案 > 提取保存公式的工作簿名称,而不是当前使用的工作簿名称

问题描述

我想找到一个 excel 或 Power 查询 M(不是 vba)公式来提取执行该公式的工作簿的文件名。互联网似乎只知道一个:

=MID(CELL("文件名"),SEARCH("[",CELL("文件名"))+1, SEARCH("]",CELL("文件名"))-SEARCH("[",CELL("文件名"))-1)

不幸的是,这个公式只提供了当前正在使用的工作簿的名称,所以,如果我在第一个工作簿中执行我的函数之前使用第二个工作簿,这个公式给出的名称将是我的第二个文件的名称,这会导致严重的错误.

有没有更实用的方法来做到这一点?

标签: excelpowerquery

解决方案


如果您指定 的第二个(参考)参数CELL,则公式将“锁定”到相关工作表/文件:

=MID(CELL("filename",A1),SEARCH("[",CELL("filename",A1))+1, SEARCH("]",CELL("filename",A1))-SEARCH("[",CELL("filename",A1))-1)

这在CELL文档中以及 Chip Pearson在这里进行了讨论。


推荐阅读