EXCEL 查找一个字符串中含有某个字符(可能还有多个),然后用对应的字符替代原字符串中的字符。 55

例如:有ABBC3字符串,规则:A对应1,B对应3和8,C及其他不作处理。判断是否含有并分别替换的结果得到:1BBC、A3BC、A8BC、AB3C、AB8C共五个。目的就... 例如:有ABBC3字符串,规则:A对应1 , B对应3和8 ,C及其他不作处理。
判断是否含有并分别替换的结果得到:1BBC、A3BC、A8BC、AB3C、AB8C共五个。
目的就是随意给一个字符串和字符对应规则,自动算出所有结果。
难点1:字符串中某同一个字符可能含有多个,例如本例中有两个B;
难点2:含有某个字符,可能需要替换两次,例如含有B时候,要分别用3和8区替换。
难点3:要自动得到所有替换后的字符串。

拜托大家看下用何种算法计算量比较小,谢谢~
不好意思,例子中是ABBC字符串,不是ABBC3。
展开
 我来答
lengfengfly
2018-07-16 · TA获得超过2380个赞
知道小有建树答主
回答量:2115
采纳率:63%
帮助的人:711万
展开全部

每次只替换1个吗?我以为所有的排列组合呢。先把这个不知是不是你想要的结果贴出来:

A1公式为:

=IF(ROW()>18,"",LOOKUP(ROUNDUP(ROW()/9,),{1,2},{"A",1}))&IF(ROW()>18,"",LOOKUP(MOD(ROUNDUP(ROW()/3,)+2,3)+1,{1,2,3},{"B",3,8}))&IF(ROW()>18,"",LOOKUP(MOD(ROW(3:3),3)+1,{1,2,3},{"B",3,8}))&IF(ROW()>18,"","C")

更多追问追答
追问
您列出的结果比我想要的要多。
每次只替换一个就行的,ABBC的话只有1BBC、A3BC、A8BC、AB3C、AB8C共五种结果。
其实这个的用途是,卡片上一串字符,由人来抄写到excel,8可能误认为B,A可能误认为是4.
现在默认其中一个字符抄错了,我要知道所有可能出错的结果然后系统验证其有效性。
追答

那这样列公式吧,还会有一定的通用性:

A1公式为:=IFERROR(REPLACE($C$2,D2,1,E2),"")

注意:红色数据是需要你手动整理的

折柳成萌
高粉答主

2018-07-16 · 繁杂信息太多,你要学会辨别
知道顶级答主
回答量:4.4万
采纳率:96%
帮助的人:6320万
展开全部
replace或者substitute都可以。
假设手机号在A1,那么在B1录入:
=replace(A1,1,7,"66")
或者:
=SUBSTITUTE(A1,LEFT(A1,7),"66")
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式