excel中,如何替换字符串中的特定字符,否则返回原字符串
比如,要把“我爱你哈哈{hoho}”中的括号内的字符替换成“啊啊”,返回值为“我爱你哈哈{啊啊}”;如果在字符串中,没有括号,比如“我爱你哈哈”,则直接返回“我爱你哈哈”...
比如,要把“我爱你哈哈{hoho}”中的括号内的字符替换成“啊啊”,返回值为“我爱你哈哈{啊啊}”;如果在字符串中,没有括号,比如“我爱你哈哈”,则直接返回“我爱你哈哈”,而不替换任何值。
以上我想的办法是,
=SUBSTITUTE(B2,MID(B2,FIND("{",B2,1)+1,FIND("}",B2,1)-FIND("{",B2,1)-1),"啊啊")
这个公式,就是解决不了上面提的问题中后者,“不包含括号就不替换”这个问题。怎么都想不明白怎么弄,大家有办法吗?
其中这个“hoho”和“啊啊”都是变量,不是常量……所以才会出现要替换的字符中不含有这个变量的情况。 展开
以上我想的办法是,
=SUBSTITUTE(B2,MID(B2,FIND("{",B2,1)+1,FIND("}",B2,1)-FIND("{",B2,1)-1),"啊啊")
这个公式,就是解决不了上面提的问题中后者,“不包含括号就不替换”这个问题。怎么都想不明白怎么弄,大家有办法吗?
其中这个“hoho”和“啊啊”都是变量,不是常量……所以才会出现要替换的字符中不含有这个变量的情况。 展开
6个回答
展开全部
我有个笨办法,因为其他更优的办法我也不会哈,就将就你这个公式,解决没有括号时的问题。
我觉得可以用个if先判断有没有括号嘛,有括号才执行你这个公式,比如:
IF(ISERROR(FIND("{",B2,1)),B2,SUBSTITUTE(B2,MID(B2,FIND("{",B2,1)+1,FIND("}",B2,1)-FIND("{",B2,1)-1),"啊啊"))
我也是菜鸟,你看能满足需求不
我觉得可以用个if先判断有没有括号嘛,有括号才执行你这个公式,比如:
IF(ISERROR(FIND("{",B2,1)),B2,SUBSTITUTE(B2,MID(B2,FIND("{",B2,1)+1,FIND("}",B2,1)-FIND("{",B2,1)-1),"啊啊"))
我也是菜鸟,你看能满足需求不
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
我觉得replace 可以解决
=REPLACE(A1,FIND("{",A1),LEN(A1)-FIND("{",A1),B1)
=REPLACE(A1,FIND("{",A1),LEN(A1)-FIND("{",A1),B1)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
直接用:
=SUBSTITUTE(B2,"hoho","啊啊")
=SUBSTITUTE(B2,"hoho","啊啊")
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你这公式好复杂看不懂。但你水平这么高了,我就给你点提示好了。你可以用if(find(***)=0,SUBSTITUTE,b2)
至于find(***)=0还是=1你自己试吧
至于find(***)=0还是=1你自己试吧
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询