2017-08-16 27 views
1

我试图找到最efficennt的方式做出如下成一列试图找到Excel公式来单独在Excel

文本出现在3种不同的方式复杂的文本,===后的值是它应该成为什么。

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的值,但中间用这个点开始和字符数等等。它会导致问题。

+1

所以要缩短的文本都在一个单元格中?你可以试着用你想要的零件代替“” – RealCheeseLord

回答

2

尝试这个公式:

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

最里面的取代SUBSTITUTE(A1, " ", "")删除所有空白。其他替代删除以下内容:

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

输出:

enter image description here

当然,你总是可以用另一种方式处理这个问题。您可以使用Excel从下拉菜单中查找替换功能,并分别单独执行这些步骤。

1

所以基本上就需要更换LOT:TYP:PLN::与“”是这样的:

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

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