在string中find一个模式,并从excel单元格中移除该string的模式,而不用触及string中的模式

我有一个在string的开始,中间和结尾都有“ – ”模式的列。 例如:

-- myString my -- String myString -- 

我想find这两种types的细胞

 -- myString myString -- 

并删除“ – ”模式,所以它会看起来很好! 我是一个Excel的业余用户,但如果你build议我可以使用函数。 它应该是可能的查找和使用查找replace函数的结果,但我不知道如何将结果传递给replace。

请注意:答案应该照顾列中的所有单元格,数百个。 一个解决scheme,改变所有,而不是一个单元的解决scheme。

编辑:只要重读请求,从加里的学生每指令。 这将删除所有“ – ”的实例,不仅在开始/结束。

如果数据在A1中,请使用以下公式:

 =SUBSTITUTE(A1,"--","") 

B1中的A1input数据:

 =IF(LEFT(A1,2)="--",MID(A1,3,9999),IF(RIGHT(A1,2)="--",MID(A1,1,LEN(A1)-2),A1)) 

好的,我find了答案。 @Dubison的答案帮助我find了正确的答案。 如果这个单元格中的左边两个字符是“ – ”,最后两个字符是“ – ”,则用“ – ”replace为“”,否则就是空白。

 =IF(LEFT(A1,2)="--",SUBSTITUTE(A1,"--",""),IF(RIGHT(A1,2)="--",SUBSTITUTE(A1,"--",""), A1)) 

这与以前的答案几乎一样,只使用更简单的逻辑。 如果您的string首字符或最后一个字符=“ – ”什么也不做,否则用“”replace“ – ”。

 =IF(LEFT(A1,1)="-",A1,IF(RIGHT(A1,1)="-",A1, SUBSTITUTE(A1,"--",""))) 

更新:

我注意到我误解了这个问题。 上面的代码只会在中间删除“ – ”。 然而,原来的问题是只有在开始或结束时才删除“ – ”。 所以公式应该是:

 =IF(OR(LEFT(A1,2)="--",RIGHT(A1,2)="--"),SUBSTITUTE(A1,"--",""),A1)