试图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"; "")
也许你不得不在空间上玩一下,但这应该是一个很好的起点