试图findexcel公式来分离excel中的复杂文本

我正在试图find最有效的方法来将以下内容合并到一个列中

文本以三种不同的方式出现,===之后的值就是它应该变成的东西。

LOT: 4 TYP: SP PLN: 262354 === 4SP262354 LOT: 2 RP: 909144 === 2RP909144 LOT: 174 SP: 199682 === 174SP199682 

假设要分割的文本都在列L3中,我有以下几点

 M is =MID(L3,5,FIND("TYP",L3)-6) === 1 N is =MID(L3,FIND("TYP:",L3)+4,FIND("PLN",L3)) === SP PLN: 262354 O is =MID(N3,1,FIND(" PLN",N3)-1) === SP P is =RIGHT(N3,FIND(": ",N3)-2) ===262354 

它适用于一些而不是其他的,而不是在没有“TYP”的情况下。

在Python中,我们可以从开始的字符号到结束字符号,即文本[1:9],并使用find来定位1和9的值,但中间的工作是从这一点开始和字符数,所以它会引起问题。

试试这个公式:

 =SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE( SUBSTITUTE(A1, " ", ""), "TYP:", ""), "PLN:", ""), "LOT:", ""), ":", "") 

最内层的replaceSUBSTITUTE(A1, " ", "")删除所有的空格。 其他replace删除以下内容:

 TYP: PLN: LOT: : <-- remove any stray commas 

输出:

在这里输入图像说明

当然,你可以用其他方式来处理这个问题。 您可以使用Excel从下拉菜单中findreplacefunction,只需分别执行这些步骤。

所以基本上你需要replaceLOT:TYP:PLN:: “”像这样:

 =SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(L3; ": "; ""); " LOT"; ""); " PLN"; ""); " TYP"; "") 

也许你不得不在空间上玩一下,但这应该是一个很好的起点