在文件path中查找最后一个“\”的公式,并在此之后全部删除
所以我有一个Excel任务,涉及采取文件path(C:\ foo …),并获取path(即从path中删除实际的文件名)。 我似乎无法使SEARCH / FIND函数工作,因为它始终在文件path中find第一个“\”(在驱动器名称后面),并且只删除了3个左右的字符。
是否有一个公式,将允许我在文件path中的最后一个“\”后修剪?
提前感谢任何帮助!
首先,你的问题会在superuser.com上更好。
你可以使用LEFT
, FIND
和SUBSTITUTE
…以及其他一些:
=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
只需要基于数