分享

在Excel单元格中提取当前文件的路径、文件名或工作表

 sunnynie2021 2021-04-27

一、提取文件所在的路径:

在A1单元格输入公式=CELL("filename")

公式返回结果如图1:


1

这个公式得到的信息包含了当前工作表的名称,且文件名是用“[ ]”括起来的。

如果不想要这些信息,只要文件路径名,公式改为:

=SUBSTITUTE(LEFT(CELL("filename"),FIND("]",CELL("filename"))-1),"[","")

公式返回结果如图2:


2

二、提取文件名(含后缀):

方法一:函数与公式

公式如下:

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

公式返回结果如图3:


3

方法二:用宏表函数定义名称

点击“公式”→“名称管理器”,引用位置输入公式=get.cell(66,A1),如图4:


4

在A1单元格输入公式=文件名,即可得到图2结果。

方法三:VBA代码

按快捷键【Alt+F11】进入VBE编辑环境,输入以下代码:

Sub 宏1()

[A1] = Mid(ThisWorkbook.Name, InStrRev(ThisWorkbook.Name,"\") + 1)

End Sub

再按快捷键【F5】执行宏,A1单元格就出现图2结果。


5

三、提取文件名(不含后缀):

公式如下:

=MID(CELL("filename"),FIND("[",CELL("filename"))+1,FIND(".xls",CELL("filename"))-FIND("[",CELL("filename"))-1)

公式返回结果如图6:


6

四、提取工作表名称:

公式如下:

=RIGHT(CELL("filename",$A$1),LEN(CELL("filename",$A$1))-FIND("]",CELL("filename",$A$1)))

公式返回结果如图7:


7

五、提取当前文件名和工作表的名称

公式如下:

=RIGHT(CELL("filename"),LEN(CELL("filename"))-MAX(IF(NOT(ISERR(SEARCH("\",CELL("filename"),ROW(1:255)))),SEARCH("\",CELL("filename"),ROW(1:255)))))

要将公式作为数组公式输入,请按【Ctrl+Shift+Enter】

数组公式返回结果如图8:


8

也许你会说这些公式我不懂,没关系,如果有需求,拿来即用。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多