excel 中的子字符串使用公式

SubString in excel using formula

以下是我的几个示例字符串:

Md. Suman Kabir, Manager
Patrick J Trump, President
John Kennedy

预期输出:

Suman Kabir
J Trump
Kennedy

为此我尝试了这个公式:

=MID(A1, FIND(" ", A1) + 1, FIND(",", A1)- FIND(" ", A1) -1)

我得到了前两个字符串的正确输出,但得到了第三个字符串的 ERROR。任何人都可以指出公式或任何其他公式中的错误以获得预期的输出吗?

嗨,这似乎有效:-

=IFERROR(MID(A3, FIND(" ", A3) + 1, FIND(",", A3)- FIND(" ", A3) -1),MID(A3, FIND(" ", A3) + 1, LEN(A3)- FIND(" ", A3) ))

所以这是你的部分,如果由于逗号不存在而出错,它会执行类似的公式但不带逗号。

这部分FIND(",", A1)由于没有逗号而出错。您可以在公式的开头加上条件。

=IF(COUNTIF(A1,"*,*")>0,MID(A1, FIND(" ", A1) + 1, FIND(",", A1)- FIND(" ", A1) -1),RIGHT(A1,LEN(A1)-FIND(" ",A1)))

您刚刚通过在这部分添加 &"," 来修复 FIND(",", A1) 并成为 FIND(",", A1&",")

然后,将B1中的公式复制下来:

=MID(A1,FIND(" ",A1)+1,FIND(",",A1&",")-FIND(" ",A1)-1)