如何在Excel中的第一个数字周围拆分/解析字符串

时间:2013-02-27 15:25:40

标签: excel split excel-formula

我在A栏中有一个字母和数字混合的字符串。我希望在显示的第一个数字之前将字符串分成两半,使得“abc123”在B列变为“abc”,在C列变为“123”。

2 个答案:

答案 0 :(得分:12)

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

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

然后在C2

中的这个公式

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

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

答案 1 :(得分:1)

只是想对巴里的公式做出轻微的修改。在我看来稍微容易理解,但使用起来有点困难:

您可以使用此数组公式查找第一个数字的起始位置+ 1:

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

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

然后你可以使用那个数字来分割字符串的第一部分:

=LEFT(A2,B2-1)

然后你可以使用REPLACE()去除字符串的第一部分(字母)。

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

你应该接受Barry的答案,而不是这个,因为他更容易使用,更简洁。但我只想在我的追求中添加一个变体,以了解巴里的公式如何运作。