如何在 EXCEL 中提取可变数目个字符后的字符串?

如何在 EXCEL 中提取可变数目个字符后的字符串?

我很确定您可以在 VB 中更轻松地完成此操作,但我希望使用 EXCEL 中的公式来完成此操作。

我想在 EXCEL 中去除给定字符串的前 x 个“部分”。 “部分”是完整字符串的分割。

示例:在 C# 中:

"A.BB.CCC.DDDD.EEEEE".Split(new char[]{'.'});
// This yields 5 parts, "A", "BB", "CCC", "DDDD", "EEEEE"

因此,我需要一个公式,该公式可以接受“2”,并通过剥离字符串的前 2 个“部分”来得出 CCC.DDDD.EEEEE。

A.BB.CCC.DDDD.EEEEE --> CCC.DDDD.EEEEE given 2
A.BB.CCC.DDDD.EEEEE --> DDDD.EEEEE given 3
A.BB.CCC.DDDD.EEEEE --> A.BB.CCC.DDDD.EEEEE given 0

答案1

那么你可以使用:

=MID(A2, FIND("@", SUBSTITUTE(A2, ".", "@", 2))+1, LEN(A2))
                                            ^

我上面指出的那个是“给定”的意思。将 2 替换为 2 .,将 3 替换为 3 .

或者将其引用到一个单元格,您将知道需要多少个点。

编辑:根据相关编辑,我们可以添加一个IF()来检查0。假设数字存储在单元格 A1 中:

=IF(A1 = 0, A2, MID(A2, FIND("@", SUBSTITUTE(A2, ".", "@", A1))+1, LEN(A2)))

答案2

两个点之后:

=MID(B5,SEARCH(".",B5,SEARCH(".",B5)+1)+1,100)

相关内容