在文件path中查找最后一个“\”的公式,并在此之后全部删除

所以我有一个Excel任务,涉及采取文件path(C:\ foo …),并获取path(即从path中删除实际的文件名)。 我似乎无法使SEARCH / FIND函数工作,因为它始终在文件path中find第一个“\”(在驱动器名称后面),并且只删除了3个左右的字符。

是否有一个公式,将允许我在文件path中的最后一个“\”后修剪?

提前感谢任何帮助!

首先,你的问题会在superuser.com上更好。

你可以使用LEFTFINDSUBSTITUTE …以及其他一些:

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

LEN(A1)-LEN(SUBSTITUTE(A1, "\", "")基本上给出string中\的个数。

SUBSTITUTE(A1, "\", CHAR(1), LEN(A1)-LEN(SUBSTITUTE(A1, "\", ""))这部分用CHAR(1)代替最后的\

然后,使用FIND来获得这个angular色的位置,减去1来移除find的angular色的位置,用你需要的部分LEFT (比喻和字面)。

如果你需要最后一个反斜杠,删除-1

候补:

 =SUBSTITUTE(A1,TRIM(RIGHT(SUBSTITUTE(A1,"\",REPT(" ",99)),99)),"") =LEFT(A1,LEN(A1)-LEN(TRIM(RIGHT(SUBSTITUTE(A1,"\",REPT(" ",99)),99)))) 

如果需要删除结尾\

 =SUBSTITUTE(A1,"\"&TRIM(RIGHT(SUBSTITUTE(A1,"\",REPT(" ",99)),99)),"") =LEFT(A1,LEN(A1)-LEN(TRIM(RIGHT(SUBSTITUTE(A1,"\",REPT(" ",99)),99)))-1) 

试试这个版本

=LEFT(A1,LOOKUP(2^15,FIND("\",A1,ROW(INDIRECT("1:"&LEN(A1))))))

FIND函数返回一个包含A1中所有“\”字符位置的数字数组 – LOOKUP从该数组中取出最后一个数字 – 即最后一个“\”的位置,然后LEFT只需要基于数