excel中,如何替换字符串中的特定字符,否则返回原字符串

比如,要把“我爱你哈哈{hoho}”中的括号内的字符替换成“啊啊”,返回值为“我爱你哈哈{啊啊}”;如果在字符串中,没有括号,比如“我爱你哈哈”,则直接返回“我爱你哈哈”,而不替换任何值。

以上我想的办法是,
=SUBSTITUTE(B2,MID(B2,FIND("{",B2,1)+1,FIND("}",B2,1)-FIND("{",B2,1)-1),"啊啊")
这个公式,就是解决不了上面提的问题中后者,“不包含括号就不替换”这个问题。怎么都想不明白怎么弄,大家有办法吗?
其中这个“hoho”和“啊啊”都是变量,不是常量……所以才会出现要替换的字符中不含有这个变量的情况。

第1个回答  2010-07-11
=SUBSTITUTE(B2,IF(COUNTIF(B2,"*{*"),MID(B2,FIND("{",B2,1)+1,FIND("}",B2,1)-FIND("{",B2,1)-1),""),IF(COUNTIF(B2,"*{*")=0,"","啊啊"))本回答被提问者采纳
相似回答