查找字符串中某个字符的最后一个实例并保留之前的所有内容

use*_*550 3 worksheet-function microsoft-excel microsoft-excel-2010 microsoft-excel-2013

我有以下数据,我需要去掉数字。这意味着我必须找到最后一次出现的字符“”并保留之前出现的所有内容,但我不知道如何编写公式。

文本的长度各不相同,也可以是多个单词。数字不超过 3 位数字。

**String**
abc 61
abc 79
ac 1
ab 123
a bc 12
Run Code Online (Sandbox Code Playgroud)

谢谢!

Ind*_*rek 5

试试这个公式:

=SUBSTITUTE(A1, TRIM(RIGHT(SUBSTITUTE(A1, " ", REPT(" ", 99)), 99)), "")
Run Code Online (Sandbox Code Playgroud)

结果:

在此输入图像描述
(由于我的区域设置,屏幕截图中的公式使用分号。)


分解一下:

  1. =SUBSTITUTE(A1, " ", REPT(" ", 99))

    这会将每次出现的所需分隔符(在您的情况下为空格)替换为 99 个空格。确切的数字并不重要,只要它大于最长单个单词的长度即可。

  2. =TRIM(RIGHT(..., 99))

    这将获取最右边的 99 个字符(此处使用与步骤 1 中相同的数字很重要)并修剪它们(删除开头和结尾的空格)。本质上,这为您提供了最后一个空格之后的文本。

  3. =SUBSTITUTE(A1, ..., "")

    由于您想要最后一个空格之前的文本,因此只需获取步骤 2 的结果并将其替换为空字符串,从而将其删除。现在,您只剩下单元格的内容,包括最后一个空白字符。如果您还想删除尾随空格,可以再运行=TRIM()一次。