永发信息网

EXCEL怎么批量替换,不同数据对应不同的值

答案:7  悬赏:70  手机版
解决时间 2021-11-24 12:18
EXCEL怎么批量替换,不同数据对应不同的值
最佳答案
假设第一行为表头,数据从第2行开始。在表2的L2输入公式: =表1!q2,然后将该公式下拉至表格最后一行。
全部回答
新建 一个对应关系表,然后用VLOOKUP函数
录一个查找替换的宏(选项里单元格匹配),赋予一个按钮,每次点一下按钮就OK了。
Sub Macro2()
'
' Macro2 Macro
'

'
Cells.Replace What:="1", Replacement:="玉米", LookAt:=xlWhole, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="2", Replacement:="莲子", LookAt:=xlWhole, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
Cells.Replace What:="3", Replacement:="大豆", LookAt:=xlWhole, SearchOrder _
:=xlByRows, MatchCase:=False, SearchFormat:=False, ReplaceFormat:=False
End Sub

这是我录制的1、2、3,可以向下复制,并修改一下里面的内容。
=INDEX({"玉米";"大豆";"莲子";"红薯";"芋头";"鸡蛋";"黑米";"黄油";"蛋卷";"青菜"},MATCH(A2,{1;2;3;4;9;19;20;35;40;45},0))
下拉

=VLOOKUP(A2,{1,"玉米";2,"大豆";3,"莲子";4,"红薯";9,"芋头";19,"鸡蛋";20,"黑米";35,"黄油";40,"蛋卷";45,"青菜"},2,FALSE)
下拉
利用宏:
Function Dict(i As Integer) As String
s = ""
Select Case i
Case 1: s = "玉米"
Case 2: s = "大豆"
Case 3: s = "莲子"

Case 4: s = "红薯"

Case 9: s = "芋头"

Case 35: s = "黄油"
Case 40: s = "蛋卷"
Case 45: s = "青菜"
Case 20: s = "黑米"
Case 19: s = "鸡蛋"
'case 100: s="..."
Case Else: s = "添加你的词条"
End Select
Dict = s
End Function
Sub ReplaceAll()
'MsgBox Worksheets.Count
Dim ws As Worksheet
Set ws = Worksheets(1)
'MsgBox ws.Cells(1, 2).Value
'MsgBox ws.Range("a1:a5").Cells.Count
i = 1 ' 改成“替换前”的首行号
k = 1 ' 改成“替换前”所在的列号
j = 5 ' 改成“替换后”所在的列号
v = ws.Cells(i, k).Value
Do
ws.Cells(i, j) = Dict(CInt(v))
i = i + 1
v = ws.Cells(i, k)
Loop While v <> 0
End Sub
Function rep(va As range, rf As range, j As Integer, k As Integer)
   Dim i As Integer
   Dim str As Integer
   str = va.Formula
   For i = 1 To rf.Rows.Count
       str = Replace(str, rf.Cells(i,j), rf.Cells(i,k)+"┋")
   Next
   rep = Replace(str,"┋","")
End Function
'//批两替换公式
'//rep(va单元格,rf固定区域,j被替换值列序号,k替换值列序号,pre防伪字符)
'//例子:A1100008,A1100009,A1100010替换成 A1100009,A1100010,A1100011是依次这样填充
'判断出设置,轮流用可以替换内容去替换
'i=1      A1100008,A1100009,A1100010
'i=2      A1100009┋,A1100009,A1100010
'i=3      A1100009┋,A1100010┋,A1100010
'i=4      A1100009┋,A1100010┋,A1100011┋
'end      A1100009,A1100010,A1100011

如上公式,可以替换互相覆盖的序号,比如上面的例子

把需要替换的这些做成列表放到sheet2里面,分别在A,B列 A列放数字,B列放中文
假定你的这些数字是在A列,可以在后面空白列的第一行填入公式=vlookup(A1,sheet2!A:B,2,0)
然后下拉,再把这一列复制,选中数字那一列,选择性粘贴——数值
就可以了

数字不是在A列的话,把公式里面那个A1这里改一下,改成实际所在的列就可以了
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
cpu上面的硅油可以用什么代替
前端有必要用webpack吗
【摩拜单车】您好,您已将摩拜单车停到运营区
海尔冰箱bcd-339wba冷藏和冷冻同时显示h
开店卖烤鸭须要办小作坊吗
江苏钢铁全部停产
马自达6新款阿特兹发动机怎么样
adayout.此句中的out是做什么词性
为什么爱情很简单,婚姻很复杂?
求助,紧急!高压电工证问题
康明斯nt855气门怎么对
证明(tanπ/7)(tan2π/7)(tan3π/
吃完钙片后,怎么做才能有助于更好的吸收钙
在Word2010中,若要使多篇文档具有相同的格式
以下哪些图形经过折叠可以围成一个棱柱
推荐资讯
毛巾架什么款式好呢?
柯南中,小兰帮新一大扫除,小兰叫新一起床,
勤可以组什么词
我的处方里以用红枣六只为引 应该怎么用怎么
上海尖顶阁楼要怎么装修好
金管家、客户经理和产品经理的区别?
大学抢座影响了别人有错吗
黑豹乐队光芒之神中有几首歌曲是窦唯创作的?
世界杯一共办了几届
东莞市艾慕寝室用品有限公司怎么样?
汽车吊车算特种车吗?
HP的NC6XXX与65xx以及NX63XX有什么区别啊?看
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?