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

一个很大的EXCEL表格,二十万条数据,其中一列的数字全部要换成文字,举例来说就是下面这样:

替换前 替换后
1 玉米
1 玉米
2 大豆
3 莲子
2 大豆
4 红薯
4 红薯
9 芋头
20 黑米
35 黄油
40 蛋卷
45 青菜
20 黑米
19 鸡蛋

总共有一百多个数字不断重复形成二十万条数据,如果使用EXCEL自带的全部替换功能要替换一百多次,累死了,不知有什么简便方法能一次替换完成?或者编成什么函数之类的也好,数据库里导出来全部都是这种代码,木有中文,我每个月做报表都要这么替换一次,疯了……

第1个回答  2012-12-19
利用宏:
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
第2个回答  2012-12-19
=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)
下拉
第3个回答  2018-07-26
假设第一行为表头,数据从第2行开始。在表2的L2输入公式: =表1!q2,然后将该公式下拉至表格最后一行。本回答被网友采纳
第4个回答  2018-03-10
假设第一行为表头,数据从第2行开始。在表2的L2输入公式: =表1!q2,然后将该公式下拉至表格最后一行。
第5个回答  2012-12-19
新建 一个对应关系表,然后用VLOOKUP函数
相似回答