文字与结构的列:苹果大卫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))
。
但是,我不知道如何在G5
和H5
为David
和1236 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是你想要检索的单词号码。