2016-05-13 14 views
0

我想将一个单元格中的数据分成三个单元格。带结构的列的文本:Apple David 1234 5679 2456

也就是说,数据结构是

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

而我是什么

Fruit Name 
Name 
Numbers 
在三个不同的细胞

enter image description here

我知道的Excel Text to columns的内置功能,可以把固定宽度做到这一点的功能。但是,这个词可能会分解成两个不同的单元格。防爆。 Apple>App在一个单元格中并且le在另一个单元格中。

所以,我想要功能来完成这项任务。我用。

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

我非常感谢你的帮助。

回答

1

更新!

我修复了原始帖子F列的公式,因为它仍然包含Fruit Name之后的空格。

G列公式找到Name左侧的空格并对它们进行修剪,并找到下一次出现的空格字符以标记Name的结尾。对于列H,它找到列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))) 
+0

谢谢。但是,在我的情况下,由于输入数据的人员,空间数量会有所不同。我想知道是否有可以为此工作的功能。 – nam

+0

我明白了。好的,我会尽力解答我的答案。 –

+0

@nam我更新了我的答案,:) –

0

这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代表您想要检索的单词编号。