我很确定您可以在 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)