文字与结构的列:苹果大卫1234 5679 2456

我想将一个单元格中的数据分成三个单元格。

也就是说,数据结构是

"Fruit Name"+certain spaces+"Name"+certain spaces+"Numbers". 

而我究竟是什么

 Fruit Name Name Numbers 

在三个单独的细胞。

在这里输入图像说明

我知道excel Text to columns的内置函数Text to columns可以把固定的宽度做到这个function。 但是,这个词可能分成两个不同的单元格。 防爆。 Apple > App在一个单元格中,在另一个单元格中。

所以,我想要function来完成这个任务。

F5 ,我使用=mid(E5,1,find(" ",E5))

但是,我不知道如何在G5H5David1236 4566 078 7888

我非常感谢你的帮助。

更新!

我从原始文章中修正了F列的公式,因为它仍然包含了“ Fruit Name后面的空格。

G列的公式findName左边的空格并对它们进行修剪,并find下一个出现的空格字符来标记Name的结尾。 而对于列H,它find列G中的值,跳过它,然后修剪前导空格。

对于F栏:

 =MID(E1, 1, FIND(" ", E1) - 1) 

对于G列:

 =MID(TRIM(MID(E1, FIND(" ", E1), LEN(E1))), 1, FIND( " ", TRIM(MID(E1, FIND(" ", E1), LEN(E1)))) - 1) 

对于H列:

 =TRIM(MID(E1, FIND(G1, E1) + LEN(G1), LEN(E1))) 

这个UDF可以帮助你:

 Function GetWord(MyString As String, WordNum As Long) MyString = Trim(Replace(MyString, Chr(32), " ")) Do Until Len(MyString) = Len(Replace(MyString, " ", " ")) MyString = Replace(MyString, " ", " ") Loop GetWord = Split(MyString," ")(WordNum - 1) End Function 

像这样使用它=GetWord(A1,2)其中A1是你的文本,2是你想要检索的单词号码。