可使用CELL函数配合文本处理公式自动显示当前工作簿文件名:一、=CELL("filename")返回完整路径;二、嵌套MID/FIND提取方括号内文件名(含扩展名);三、再嵌套LEFT/FIND去除扩展名;四、可定义名称简化调用;五、需先保存文件,否则返回空值。

如果您希望在Excel表格中自动显示当前工作簿的文件名,可以利用CELL函数提取文件路径与名称信息。以下是实现此功能的具体步骤:
一、使用CELL函数获取完整文件路径及名称
CELL函数配合"filename"参数可返回当前工作表所在工作簿的完整路径、文件名及工作表名。该结果为文本字符串,需结合文本函数进一步提取纯文件名。
1、在目标单元格中输入公式:=CELL("filename")。
2、按Enter键确认,此时显示内容类似:C:\Users\Name\Documents\[Book1.xlsx]Sheet1。
3、该结果包含盘符、路径、方括号内的文件名及后缀、以及工作表名,需剥离多余部分以获取纯文件名。
二、提取不含路径和工作表名的纯文件名
通过嵌套SUBSTITUTE、FIND和MID函数,从CELL("filename")返回的字符串中定位并截取方括号内的内容,从而获得不含路径和工作表名的文件名(含扩展名)。
1、在目标单元格中输入公式:=MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1)。
2、按Enter键确认,结果将显示为:Book1.xlsx。
3、若需去除扩展名,可在此基础上嵌套LEFT与FIND函数进一步处理。
三、仅提取文件名(不含扩展名)
在获取带扩展名的文件名基础上,通过查找最后一个点号位置,截取其左侧所有字符,即可得到纯文件名主体。
1、在目标单元格中输入公式:=LEFT(MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1),FIND(".",MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1))-1)。
2、按Enter键确认,结果将显示为:Book1。
3、该公式对所有标准.xlsx、.xls等扩展名均有效,前提是CELL("filename")返回值中包含方括号结构。
四、使用定义名称方式简化调用
为避免重复输入冗长公式,可将文件名提取逻辑定义为工作簿级名称,在任意单元格中直接引用该名称即可显示结果。
1、点击【公式】选项卡 → 【定义名称】。
2、在“名称”框中输入:FileName;在“引用位置”框中粘贴:=MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND("]",CELL("filename"))-FIND("[",CELL("filename"))-1)。
3、点击确定后,在任意单元格输入=FileName并按Enter,即可即时显示当前文件名。
五、注意事项与限制条件
CELL("filename")函数在工作簿未保存时返回空字符串,因此该方法仅适用于已保存的Excel文件;另当工作簿处于“另存为”或“移动后未重新打开”状态时,可能仍显示旧路径信息。
1、首次使用前请务必先保存工作簿,否则公式返回为空或错误值。#VALUE!。
2、若工作簿由其他程序(如Power Query导出)自动生成且未手动保存过,需执行一次【文件】→【另存为】操作后再使用该函数。
3、CELL函数属于易失性函数,每次工作表重算均会刷新结果,可能导致性能轻微下降,尤其在大型工作簿中频繁调用时。










