gpt4 book ai didi

excel - 如何在不使用 VBA 的情况下在 Excel 中执行反向字符串搜索?

转载 作者:行者123 更新时间:2023-12-01 16:14:34 25 4
gpt4 key购买 nike

我有一个包含字符串列表的 Excel 电子表格。每个字符串由多个单词组成,但每个字符串的单词数量不同。

使用内置 Excel 函数(无 VBA),有没有办法隔离每个字符串中的最后一个单词?

示例:

  Are you classified as human? -> human?Negative, I am a meat popsicle -> popsicle                  Aziz! Light! -> Light!

最佳答案

这个已经过测试并且确实有效(基于 Brad 的原始帖子):

=RIGHT(A1,LEN(A1)-FIND("|",SUBSTITUTE(A1," ","|",
LEN(A1)-LEN(SUBSTITUTE(A1," ","")))))

如果您的原始字符串可能包含管道“|”字符,然后将上面的两个字符替换为源中不会出现的其他字符。 (我怀疑布拉德的原件已损坏,因为翻译中删除了不可打印的字符)。

奖励:它是如何工作的(从右到左):

LEN(A1)-LEN(SUBSTITUTE(A1,"","")) – 原始字符串中的空格计数
SUBSTITUTE(A1,"","|", ... ) – 仅用 | 替换最后空格
FIND("|", ... ) – 查找被替换的 | 的绝对位置(即最后一个空格)
Right(A1,LEN(A1) - ... )) – 返回 |

之后的所有字符

编辑:为了考虑源文本不包含空格的情况,请将以下内容添加到公式的开头:

=IF(ISERROR(FIND(" ",A1)),A1, ... )

现在制作整个公式:

=IF(ISERROR(FIND(" ",A1)),A1, RIGHT(A1,LEN(A1) - FIND("|",
SUBSTITUTE(A1," ","|",LEN(A1)-LEN(SUBSTITUTE(A1," ",""))))))

或者您可以使用其他版本的 =IF(COUNTIF(A1,"* *") 语法。

当原始字符串最后一个位置可能包含空格时,添加一个修剪函数,同时计算所有空格:使函数如下:

=IF(ISERROR(FIND(" ",B2)),B2, RIGHT(B2,LEN(B2) - FIND("|",
SUBSTITUTE(B2," ","|",LEN(TRIM(B2))-LEN(SUBSTITUTE(B2," ",""))))))

关于excel - 如何在不使用 VBA 的情况下在 Excel 中执行反向字符串搜索?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/350264/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com