MS Excel:如何从更大的字符串中获取一串重复字母?

MS Excel:如何从更大的字符串中获取一串重复字母?

经过我的测量,我得到了一行失败和通过的测试(x=失败,o=通过)。此行以x或开头o,并且更改一次。

Example A) xxxoo
Example B) ooox
Example C) ooxxxxx

我现在正在寻找一个函数,它可以为我提供字符串的第二部分,其中所有字母都相同,最多 4 个字母。因此结果将是:

A) oo
B) x
C) xxxx

我知道我可以用得到最后几位数字,RIGHT()但我不知道如何检查末尾“only x”或“only ”部分的长度。o

答案1

考虑到数据的限制,仅需一次过渡,您只需重复字符串中最右边的字符存在的次数即可:

=REPT(RIGHT(A1),LEN(A1)-LEN(SUBSTITUTE(A1,RIGHT(A1),"")))

在此处输入图片描述

不确定“四个字母”是指数据约束还是公式函数,但如果可能有超过四个字母,并且您只想返回最后四个字母,则将上述公式嵌入 RIGHT 函数中:=right(the_formula,4)*

答案2

如果字符串只能改变一次,那么您需要做的就是“丢弃”左边的字符,然后将余数限制为 4。“替换”会将一个字符串交换为另一个字符串,因此您可以将最左边的字符交换为空,无论它出现多少次。

=LEFT(SUBSTITUTE(A1,LEFT(A1,1),""),4)

如果字符串可以改变零次,例如 ooooo 或 xxxxxx,则这将给出一个空结果。如果您只想要第二因为没有字母。

相关内容