如何删除excel中某些字符后的所有文本
对不起,我是excel的高手,需要帮助。假设我的excel中有以下文本如何删除excel中某些字符后的所有文本,excel,formula,vba,Excel,Formula,Vba,对不起,我是excel的高手,需要帮助。假设我的excel中有以下文本 D:/folder A/folder B.1/text_01.txt D:/folder A/folder C/folder C.1/text_02.msg 我喜欢在第一次出现“/”后从右边删除所有文本 所以我会得到以下信息 D:/文件夹A/文件夹B.1 D:/文件夹A/文件夹C/文件夹C.1 使用LEFT()和FIND and SUBSTITUTE查找最后一个/ =LEFT(A1,FIND("}}}",SUBSTITUTE
/
=LEFT(A1,FIND("}}}",SUBSTITUTE(A1,"/","}}}",LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))-1)
如果您不介意的话,
InStrRev
几乎是为以下情况量身定做的:
Public Function Remove_After(ByVal what As String, ByVal where As Range) As String
Remove_After = Left(where, InStrRev(where, what) - 1)
End Function
如果Excel 2016+具有
TEXTJOIN
功能,则可以使用以下数组公式:
=TEXTJOIN("/",TRUE,FILTERXML("<t><s>" & SUBSTITUTE(A1,"/","</s><s>")& "</s></t>","//s[position()<last()]"))
=TEXTJOIN(“/”,TRUE,FILTERXML(“&SUBSTITUTE(A1,“/”,“”)和“””//s[position()注意,如果要保留斜杠/
,只需从代码中删除-1