将文本分成右侧的不同列

我有一个string数字文本是在Excel的一个单元格,使用v2016。 该文本类似于:

ECN 6120 012 MMR 12195 201481

我已经使用“search”和“查找”和“修剪”的变体,以获得第一,第二,第三和最后一组文本到单个单元格中。

我需要得到第二组数字,但是需要从右侧抓取,因为“MMR”有时不存在。 有任何想法吗?

A1中的数据,在B1中input:

 =TRIM(MID(SUBSTITUTE($A1," ",REPT(" ",999)),COLUMNS($A:A)*999-998,999)) 

并复制:

在这里输入图像说明

你可以使用UDF来做到这一点。

在VBE中,创build一个新的模块,并将此代码放在:

 Function strtok(strIn As String, strDelim As String, intToken As Integer) As String strtok = Split(strIn, strDelim)(intToken - 1) End Function 

你可以在你的工作表上使用这个,然后使用公式:

 =strtok(A1, " ", 4) 

获得该单元格中的第四个单词。