在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))
答案 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}}计算字符的第二层。这使得很多更具可读性。