string - VBA Excel 查找字符串中的最后一个特定实例

标签 string excel vba

我在 Excel 中有一个字符串列表,如下所示:

a>b>b>d>c>a

a>b>c>d

b>b>b>d>d>a

等等

我想从每个字符串中提取最后一个 c 或最后一个 d,以最后一个为准,

例如

a>b>b>d>c>a = C

a>b>c>d     = d

b>b>b>d>d>a = d

我该如何使用VBA(或者如果可能的话直接使用Excel)来做到这一点?

最佳答案

您可以使用 Excel 公式,如下所示

为了帮助解释,将以一个字母开头,然后在末尾显示完整的公式。

首先找出c出现的次数

= LEN(A1) - LEN(SUBSTITUTE(A1,"c","")

使用该位置将最后一个c替换为唯一字符(以$为例)

=SUBSTITUTE(A1,"c","$",LEN(A1) - LEN(SUBSTITUTE(A1,"c","")))

接下来找到这个独特的角色

= FIND("$",SUBSTITUTE(A1,"c","$",LEN(A1) - LEN(SUBSTITUTE(A1,"c",""))))

这给出了最后一个 c 的位置,现在您可以在 mid 函数中使用它来返回最后一个 c

= MID(A1,FIND("$",SUBSTITUTE(A1,"c","$",LEN(A1) - LEN(SUBSTITUTE(A1,"c","")))),1)

最后,为了同时考虑 c 和 d,使用 max 来返回最后一个

= MID(A1,MAX(IFERROR(FIND("$",SUBSTITUTE(A1,"c","$",LEN(A1) - LEN(SUBSTITUTE(A1,"c","")))),0),IFERROR(FIND("$",SUBSTITUTE(A1,"d","$",LEN(A1) - LEN(SUBSTITUTE(A1,"d","")))),0)),1)

关于string - VBA Excel 查找字符串中的最后一个特定实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35359830/

相关文章:

javascript - 如何使用 ' 将字符串转换为标准字符

php - 通过 PHP 将数据从 MySQL 导出到 Excel (csv)

excel - 概述Excel中的窗体控件和ActiveX控件之间的差异

excel - 如何使用 VBA 将以 = 开头的字符串插入到单元格值中?

excel - 我的 VBA 方法导致 Excel 崩溃 - 我看不到错误

python从字符串调用类实例

java - 通过 Java 控制台编辑给定的字符串

c# - 通过 Open XML 将数据导出到支持宏的 Excel

字符串.替换器 : how to replace all substrings at once?

python - Flask 和 Pandas ExcelWriter 不使用 BytesIO 更改列格式