如何在Excel中某些字符之后立即删除所有文本

时间:2019-05-11 16:41:37

标签: excel formula

对不起,我是excel的新手,需要帮助。说我的excel中有以下文本。

  1. D:/文件夹A /文件夹B.1 / text_01.txt
  2. D:/文件夹A /文件夹C /文件夹C.1 / text_02.msg

我想从右边开始算起第一个出现的“ /”之后,从右边删除所有文本。

所以我会得到以下消息。

  1. D:/文件夹A /文件夹B.1
  2. D:/文件夹A /文件夹C /文件夹C.1

3 个答案:

答案 0 :(得分:1)

将LEFT()与FIND和SUBSTITUTE一起使用以查找最后一个/

=LEFT(A1,FIND("}}}",SUBSTITUTE(A1,"/","}}}",LEN(A1)-LEN(SUBSTITUTE(A1,"/","")))-1)

答案 1 :(得分:0)

如果您不介意,那么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

enter image description here

答案 2 :(得分:0)

如果您具有带有TEXTJOIN函数的Excel 2016+,则可以使用以下数组公式:

=TEXTJOIN("/",TRUE,FILTERXML("<t><s>" & SUBSTITUTE(A1,"/","</s><s>")& "</s></t>","//s[position()<last()]"))

由于这是一个数组公式,因此您需要在按下 enter 的同时按住 ctrl + shift 来“确认”它。如果操作正确,Excel将按照公式栏中的说明在公式周围放置括号{...}

enter image description here