如何在Excel中分隔/parsing第一个数字的string

我在A列中有一个字母和数字混合的string。 在第一个数字出现之前,我想将string分成两半,使得“abc123”在列B中变为“abc”,在列C中变为“123”。

如果有任何forms的模式,例如,总是3个字母,或者只有3或4个字母,例如,那么你可以更容易地实现,但对于任何数量的字母(假设数字总是跟随字母),可以使用这个公式在B2(这比topcat3的链接中的build议公式简单,我想)

=LEFT(A2,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A2&1234567890))-1)

然后在C2中这个公式

=REPLACE(A2,1,LEN(B2),"")

请注意,最后一个公式将数字部分作为文本值返回 – 如果您希望它是数字,请在公式末尾添加+0(但您将丢失任何前导零)

只是想对巴里的公式贡献一点点变化。 在我看来稍微容易理解,但更难以使用:

你可以使用这个数组公式find第一个数字的起始位置+ 1:

 {=MIN(IFERROR(FIND({1,2,3,4,5,6,7,8,9,0},A2),""))} 

用ctrl + alt +进入,使其成为数组公式。

然后你可以使用这个数字来分割string的第一部分:

 =LEFT(A2,B2-1) 

然后你可以使用REPLACE()去掉string的第一部分(字母)。

 =REPLACE(A2,1,LEN(C2),"") 

你应该接受巴里的答案,而不是这个,因为他更容易使用,更简洁。 但只是想增加一个变化,以了解巴里的公式如何工作。