使用单元格公式从文件路径获取父文件夹路径

时间:2011-03-31 18:51:13

标签: excel worksheet-function

A列中,我有20000行,文件名为文件路径

  

“C:\人\微软\ ygkyg \ MMDDYY \ filename.xls”
   “\服务器41 \性能\ MMDDYY \ filename.doc”
   .....
  等

B列中,我只想获取父文件夹路径。

有人可以帮我配方奶粉吗?我尝试了这个,但它给了我文件名。

=MID(a1,FIND(CHAR(1),
    SUBSTITUTE(a1,"\",CHAR(1),LEN(a1)-LEN(SUBSTITUTE(a1,"\",""))))+1,LEN(a1))

1 个答案:

答案 0 :(得分:23)

这很有效。

=MID(A1,1,LEN(A1)-LEN(MID(A1,FIND(CHAR(1),SUBSTITUTE(A1,"\",CHAR(1),LEN(A1)-LEN(SUBSTITUTE(A1,"\",""))))+1,LEN(A1))))

以上是我原来的答案。 Neil在某种程度上简化了表达式并将其发布为comment以下内容:

=LEFT(A1,FIND("?",SUBSTITUTE(A1,"\","?",LEN(A1)-LEN(SUBSTITUTE(A1,"\","")))))

这利用了?是路径中的禁用字符这一事实,因此可以安全地使用"?"代替CHAR(1)作为地标,从而提高了可读性。此外,LEFT(A1,x)相当于MID(A1,1,x),并且比LEFT更短,因此使用FIND是有意义的。但最重要的是,此公式使用LEN,而不是使用{{1}}计算字符的第二层。这使得很多更具可读性。