Excel公式获取2个字符之间的string
我试图dynamic提取Excel中的2个字符之间的string使用公式(没有文本到列)。 示例数据是:
US - Blue Widgets - Net UK - Green - Grass UAE - Red - Apples
*请注意,数据没有固定的长度
我尝试使用一个公式,但我想我错过了一些东西,因为这也返回最后一个string。
式:
=TRIM(LEFT(SUBSTITUTE(MID(A2,FIND("|",SUBSTITUTE(A2,"-","|",1))+1,LEN(A2)),"_",REPT(" ",LEN(A2))),LEN(A2)))
这是什么回报是:
Blue Widgets - Net Green - Grass Red - Apples
以下是我想要返回的内容:
Blue Widgets Green Red
尝试这个:
=TRIM(MID(A2, 6, FIND("-",A2,6) - FIND("-",A2) - 2))
如果硬编码6不好,你可以用FIND(“ – ”,A2)+ 1代替。
你可以从下面的链接获得帮助,它非常有用,
http://www.mrexcel.com/forum/excel-questions/444266-extract-string-between-two-characters.html
我用这个和工作。
=IF(ISERROR(SUBSTITUTE(TRIM(LEFT(SUBSTITUTE(MID(A3,FIND("|",SUBSTITUTE(A3,"-","|",1))+1,LEN(A3)),"-",REPT(" ",LEN(A3))),LEN(A3)))," ","")),"",SUBSTITUTE(TRIM(LEFT(SUBSTITUTE(MID(A3,FIND("|",SUBSTITUTE(A3,"-","|",1))+1,LEN(A3)),"-",REPT(" ",LEN(A3))),LEN(A3)))," ",""))
你会得到:
蓝色的小部件
绿色
红
是你想得到最后一部分,我的意思是在第二个string“ – ”之后使用这个
=IF(ISERROR(SUBSTITUTE(TRIM(LEFT(SUBSTITUTE(MID(A3,FIND("|",SUBSTITUTE(A3,"-","|",2))+1,LEN(A3)),"-",REPT(" ",LEN(A3))),LEN(A3)))," ","")),"",SUBSTITUTE(TRIM(LEFT(SUBSTITUTE(MID(A3,FIND("|",SUBSTITUTE(A3,"-","|",2))+1,LEN(A3)),"-",REPT(" ",LEN(A3))),LEN(A3)))," ",""))
你会得到:
净
草
苹果
最好的队友