Excel查找字符串中最后出现的字符(6种方法)

  • Share This
Hugh West

在这篇文章中,我们将介绍 发现 最后发生的 的一个 特征 在一个 绳子 ǞǞǞ 我们的样本数据集有 三列 : 公司名称 , 雇员代码 ,以及 最后发生的情况 . 雇员代码 包含雇员的姓名、年龄和部门。

对于第一个 4 方法,我们将找到正斜线""的位置。 / "中的所有值。 雇员代码 之后,我们将输出 字符串 中的最后一条斜线后的 2 方法。

下载实践工作手册

查找字符串中最后出现的字符.xlsm

在Excel中查找字符串中最后出现的字符的6种方法

1.在Excel中使用FIND & SUBSTITUTE函数来查找字符串中最后出现的字符的位置

对于第一个方法,我们将使用 识别 功能时, 替换 功能时, CHAR 功能,以及 LEN 功能,以 发现 最后一次 中斜线的位置。 绳子 .

步骤。

  • 首先,输入以下公式 细胞D5 .
=find(char(134),substitute(c5,"/",char(134),(len(c5)-len(substitute(c5,"/",""))/len("/"))

公式分解

我们的主要功能是 识别 我们要找到 CHAR(134) 的值在我们的字符串中。

  • CHAR(134)
    • 输出: † .
    • 我们需要设置一个在我们的字符串中不存在的字符。 我们选择它是因为它在字符串中很罕见。 如果你的字符串中有这样的字符,把它改成你的字符串中不存在的任何字符(例如" ", " ~ ",等等)。
  • substitute(c5,"/",char(134),(len(c5)-len( substitute(c5,"/",")))/len("/") -> 成为。
  • SUBSTITUTE(C5,"/","†",(17-LEN("Mike32Marketing")) /1) -> 成为。
  • SUBSTITUTE("Mike/32/Marketing","/","†",(17-15) /1)
    • 输出:"Mike/32†Marketing" .
  • 现在我们的全部公式变成了。
  • =FIND("†", "Mike/32†Marketing")
    • 输出:8 .
  • 第二,按 进入 .

我们将看到价值 8 如果我们从左侧手动计数,我们将得到 8 的位置。 斜线 细胞C5 .

  • 最后,使用 填充手柄 将公式复制下来。

因此,我们已经得到了以下的位置 最后发生的 的一个 特征 在我们的 绳子 .

阅读更多。 Excel函数:FIND与SEARCH(比较分析)

2.在Excel中应用MATCH & SEQUENCE函数来查找字符串中最后出现的字符的位置

对于第二个方法,我们将使用 匹配 功能时, 序列 功能时, 医学部 功能,以及 LEN 函数来寻找 最后发生的 的一个 特征 绳子 .记住 序列 功能只适用于 Excel 365 Excel 2021 .

步骤。

  • 首先,输入以下公式 细胞D5 .
=match(2,1/(mid(c5, sequence(len(c5)),1)="/")

公式分解

  • 序列(len(c5))
    • Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • ǞǞǞ LEN 函数是测量长度的 细胞C5 ...... 序列 函数按顺序返回一个数组中的数字列表。
  • MATCH(2,1/(MID(C5,{1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17},1)=”/”))
    • 输出:8 .
    • ǞǞǞ 匹配 函数是找到最后一个 1 在我们的公式中,它是在 第八届 位置。

  • 第二,按 进入 .

利用这个公式,我们已经找到了以下的位置 正斜线 作为 8 在我们的 绳子 .

  • 最后,使用 填充手柄 自动填表 的公式。

总之,我们已经应用另一个公式来寻找 最后位置 的一个 特征 字符串 .

阅读更多。 如何寻找字符串中的字符(8个简单的方法)的Excel

3.利用Excel中的数组公式查找字符串中最后出现的字符的位置

我们将使用 ROW 功能时, 索引 功能时, 匹配 ,在 医学部 ,以及 LEN 函数来创建一个数组公式来寻找 最后发生的 的一个 特征 在一个 绳子 .

步骤。

  • 首先,从下面输入公式,以 细胞D5 .
=match(2,1/(mid(c5,row($c$1:index(c:c,len(c5)),1)="/")

公式分解

该公式类似于方法 2 我们正在使用 ROW 索引 函数来复制输出,作为 序列 功能。

  • row($c$1:index(c:c,len(c5)))
    • Output: {1;2;3;4;5;6;7;8;9;10;11;12;13;14;15;16;17} .
    • 我们可以看到,输出结果是一样的。 索引 函数返回一个范围的值。 LEN 函数正在计算字符串的长度,从 细胞C5 .最后, ROW 函数正在返回 电池 价值从 1 电池 的长度 C5 公式的其余部分与方法相同。 2 .

  • 第二,按 进入 .

我们已经有了 8 我们的公式完美无缺地工作。

请注意。 我们正在使用 Excel 365 如果你使用的是旧版本,那么你将需要按下 CTRL + 甩手掌柜 + 进入 .

  • 最后,双击或拖下 填充手柄 .

这就是最后一步应该是什么样子。

阅读更多。 在Excel中查找某一范围内首次出现的数值(3种方法)

类似读物

  • 如何在Excel中找到不作为通配符的*字符(2种方法)
  • 如何使用Excel公式查找数据的最后一行编号(2种方法)
  • 在Excel中查找大于零的列的最后一个值(2个简单的公式)。
  • 如何在Excel中查找链接
  • 在Excel中查找外部链接(6种快速方法)

4.用户定义的查找字符串中最后出现的字符位置的函数

在这个方法中,我们将使用一个自定义的 VBA 公式中,找到一个人的最后位置 特征 在一个 绳子 不用多说,让我们开始行动吧。

步骤。

  • 首先,按 ALT + F11 来调出 VBA 窗口。

你可以选择 视觉基础 开发商 标签也要这样做。

  • 第二,从 插入 >>> 选择 模块 .

  • 第三。 拷贝 粘贴 下面的代码。
 Function LOccurence(x1 As String, x2 As String) LOccurence = InStrRev(x1, x2) End Function 

我们已经创建了一个自定义函数,名为" 价值 "。 严格执行 是一个 VBA 的函数,返回一个 特征 我们将输入我们的 电池 价值为 x1 和特定的字符(在我们的例子中,它是一个 正斜线 )为 x2 在这个自定义函数中。

  • 之后,关闭 VBA 窗口,并转到" 位置VBA " 床单 .
  • 在下面的公式中键入 细胞D5 .
=LOccurence(C5,"/")

在这个自定义函数中,我们告诉它要找到 最后发生的 正斜线 绳子 细胞C5 .

  • 然后,按 进入 .

我们已经有了 8 正如预期的那样 最后一次发生 的位置。 正斜线 .

  • 最后,我们可以用以下方法把公式拖下来 填充手柄 .

因此,我们已经应用了另一个公式来寻找 最后发生的 的一个 特征 .

阅读更多。 如何在Excel中从右侧查找字符串中的字符(4种简单方法)

5.使用Excel中的组合函数查找字符串中最后出现的字符

到此为止,我们已经看到了如何找到一个字符的最后发生的位置。 现在我们将使用 搜索 功能时, 权力 功能时, 替换 ,在 LEN ,在 CHAR 函数来显示最后出现的字符后的字符串。 更简单地说,我们将输出员工的部门,从 雇员代码栏 .

步骤。

  • 首先,输入以下公式 细胞D5 .
=right(c5,len(c5)-search(char(134),seplace(c5,"/",char(134),len(c5)-len(seplace(c5,"/","))))))

公式分解

  • substitute(c5,"/",char(134),len(c5)-len(replacement(c5,"/","))) -> 成为。
  • substitute(c5,"/",char(134),2)
    • 输出:"Mike/32†Marketing" .
    • ǞǞǞ 替换 在我们的例子中,它是用另一个值来替换一个值。 正斜线 与一个 那么,在第一部分中的 "我 "和在后一部分中的 "我 "都是空白。 LEN 这就是我们如何得到我们的价值。
  • SEARCH("†", "Mike/32†Marketing")
    • 输出:8 .
    • ǞǞǞ 搜索 函数在我们之前的输出中找到了这个特殊字符。 因此,它在 第八届
  • 最后,我们的公式简化为。 RIGHT(C5,9)
    • 输出:"营销" .
    • ǞǞǞ 权力 函数返回右侧一定数量字符以内的单元格值。 我们已经找到了最后的 正斜线 第八届 的长度。 细胞C5 17 ,以及 17 - 8 9 .因此,我们已经有了 9 人物 从右边开始,作为输出。

  • 第二,按 进入 .

我们已经得到了 字符串 在最后一次 正斜线 .

  • 最后,使用 填充手柄 自动填表 的公式变成 电池 范围 D6:D10 .

因此,我们已经提取了 字符串 后的 最后发生的 的一个 特征 .

阅读更多。 如何在Excel中查找单元格是否包含特定文本

6.在Excel中自定义VBA公式,查找字符串中最后出现的字符

对于最后一种方法,我们将使用一个自定义的 VBA 公式来提取 绳子 后的 正斜线 .

步骤。

  • 首先,按 ALT + F11 来调出 VBA 窗口。

你可以选择 视觉基础 开发商 标签也要这样做。

  • 第二,从 插入 >>> 选择 模块 正如我们在方法中所做的那样 4 .
  • 第三。 拷贝 粘贴 下面的代码。
 Function LastString(cRange As Range, cString As String) Dim cLength As Integer cLength = Len(cRange) For x = cLength To 1 Step -1 If Mid(cRange, x - 1, 1) = cString Then LastString = x Exit Function End If Next x End Function 

我们正在创建一个自定义函数,名为" 最后字符串 "。 这个函数将返回以下的起始位置 字符串 后的 最后发生的 的一个 字。

  • 之后,将下面的公式输入到 细胞D5 .
=RIGHT(C5,LEN(C5)-LastString(C5,"/")+1)

公式分解

  • LastString(C5,"/")
    • 输出:9 .
    • 在这里,我们要得到的是 绳子 紧接着 最后一条正斜线 .
  • LEN(C5)
    • 输出:17 .
  • LEN(C5)-LastString(C5,"/")+1
    • 输出:9。
    • 我们需要添加 1 否则我们会得到带有""的值。 M ".
  • 我们的公式将简化为 RIGHT(C5,9)
    • 输出。 " 市场营销 ".

  • 新闻 进入 .

我们将得到价值" 市场营销 ".

  • 最后。 自动填表 的公式,直到 细胞C10 .

我们已经实现了我们的目标。 该配方按计划运作。

阅读更多。 如何在Excel中找到具有特定值的最后一行(6种方法)

练习部分

除了每个方法之外,我们还附上了实践数据集,在 ǞǞǞ 文件。 你可以练习在这项任务中变得更好。

总结

我们已经向你展示了 6 的方法 ǞǞǞ 以找到 最后发生的 的一个 特征 在一个 绳子 如果你有任何关于这些的问题,请随时在下面评论。 谢谢你的阅读,并保持优秀。

Hugh West is a highly experienced Excel trainer and analyst with over 10 years of experience in the industry. He holds a Bachelor's degree in Accounting and Finance and a Master's degree in Business Administration. Hugh has a passion for teaching and has developed a unique teaching approach that is easy to follow and understand. His expert knowledge of Excel has helped thousands of students and professionals worldwide improve their skills and excel in their careers. Through his blog, Hugh shares his knowledge with the world, offering free Excel tutorials and online training to help individuals and businesses reach their full potential.