excel怎么查找A列在B列中的数值,换成C列的内容,在D列表现出来!

excel需要找出A列中,在B列的词,替换成C列的词,在D列展示(求D列公式)这个举个例子,实际使用中B列,和C列的词库可能会有上千个,还有没有大神,看看下面几位大神的回... excel需要找出A列中,在B列的词,替换成C列的词,在D列展示(求D列公式)
这个举个例子,实际使用中B列,和C列的词库可能会有上千个,还有没有大神,看看下面几位大神的回签,都没能解决.有没有能直接给我丢个公式过来的.哈哈.

为方便大神们测试.以下数据供你们测试,分别为:
原数据,需查找的数据,需替换成的数据.
TW-288深蓝2XL 288深蓝 288S

TZ-209深蓝XL 209深蓝 209S

TZ-226浅麻灰XL 226浅麻 226P

TZ-294深蓝L 294深蓝 294S

TW-222深蓝M 222深蓝 222S

TW-288黄色3XL 288黄色 288Y

TW-288深蓝L 288深蓝 288S

TZ-232深蓝XL 232深蓝 232S

TZ-228深蓝L 228深蓝 228S

TZ-209黑色XL 209黑色 209H

TZ-226红色3XL 226红色 226G
展开
 我来答
tcmcz
2017-08-24 · TA获得超过3487个赞
知道大有可为答主
回答量:3744
采纳率:73%
帮助的人:994万
展开全部

如果要替换的词不多,可以用公式:

=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,$B$2,$C$2),$B$3,$C$3),$B$4,$C$4)

如果要替换的词比较多,可考虑用VBA:

Function TiHuan(Sour As String, Old_Word As Range, New_Word As Range) As String
    For i = 1 To New_Word.Count
        Sour = Replace(Sour, Old_Word(i), New_Word(i))
    Next
    TiHuan = Sour
End Function
追问

大神,您的公式可以用,你太牛逼了.但是我B列,C列的词汇较多.要怎么弄公式呢?您说的VBA我不懂呀,要怎么在excel里实现呢.没有公式吗?这是别的大神提供的,但都是错误,目前只有您上面的公式能用.有没有B列,C列长一点的公式呢?可能需要上千个.

追答

按alt+F11打开VBA编辑器,“插入”→“模块”,再将前面的代码复制其中,

在单元格中输入:

=tihuan(A1,$B$1:$B$100,$C$1:$C$100)

再向下填充。

苗乔恩
科技发烧友

2017-08-24 · 电脑数码,办公应用爱好者。
苗乔恩
采纳数:9706 获赞数:14543

向TA提问 私信TA
展开全部
  1. 使用查找替换即可;

  2. 分别查找替换三次即可解决。

更多追问追答
追问
这是示例亲.可能BC列有几百上千个.不是三次的问题,三次我就不问啦亲
追答

公式如下:

=LEFT(A1,3)&VLOOKUP(MID(A1,4,2),B:C,2,)&RIGHT(A1,3)

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tk990357
2022-01-16
知道答主
回答量:2
采纳率:0%
帮助的人:1612
展开全部
=SUBSTITUTE(A2,LOOKUP(1,0/FIND($B$2:$B$3000,A2),$B$2:$B$3000),LOOKUP(1,0/FIND($B$2:$B$3000,A2),$C$2:$C$3000))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
418310500
2017-08-24 · TA获得超过755个赞
知道小有建树答主
回答量:573
采纳率:54%
帮助的人:238万
展开全部
=SUBSTITUTE(A1,B1,C1)
更多追问追答
追问

亲,你的公式不成立哦.A是不固定,可能会有重复的,你这个是找出A列在对应行B列的词换成C.这样没用.我是要找出所有A列在B列所有词包含的.替换成对应C的词.

追答
=SUBSTITUTE(A1,LEFT(RIGHT(A1,LEN(A1)-FIND("-",A1,1)),2),INDEX($C$1:$C$3,MATCH(LEFT(RIGHT(A1,LEN(A1)-FIND("-",A1,1)),2),$B$1:$B$3,0),0))
望采纳。
适用于以“-”为分隔符,例如格式:
任意长度-任意长度-任意长度
=SUBSTITUTE(A1,SUBSTITUTE(RIGHT(A1,LEN(A1)-FIND("-",A1,1)),"-"&RIGHT(RIGHT(A1,LEN(A1)-FIND("-",A1,1)),LEN(RIGHT(A1,LEN(A1)-FIND("-",A1,1)))-FIND("-",RIGHT(A1,LEN(A1)-FIND("-",A1,1)),1)),),INDEX($C$1:$C$300,MATCH(SUBSTITUTE(RIGHT(A1,LEN(A1)-FIND("-",A1,1)),"-"&RIGHT(RIGHT(A1,LEN(A1)-FIND("-",A1,1)),LEN(RIGHT(A1,LEN(A1)-FIND("-",A1,1)))-FIND("-",RIGHT(A1,LEN(A1)-FIND("-",A1,1)),1)),),$B$1:$B$300,0),0))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式