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

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

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

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

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

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

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16
把需要替换的这些做成列表放到sheet2里面,分别在A,B列 A列放数字,B列放中文
假定你的这些数字是在A列,可以在后面空白列的第一行填入公式=vlookup(A1,sheet2!A:B,2,0)
然后下拉,再把这一列复制,选中数字那一列,选择性粘贴——数值
就可以了

数字不是在A列的话,把公式里面那个A1这里改一下,改成实际所在的列就可以了本回答被提问者采纳
第2个回答  2019-06-10
1、不需要写宏,可以用这个合并工具,打开浏览器(注意好像只支持谷歌浏览器)输入:www.excelfb.com,
2、点击 “多个Excel文件批量替换”,选择替换文件,选择批量替换的内容(Excel文件),
3、执行替换下载文件即可
第3个回答  2012-12-19
录一个查找替换的宏(选项里单元格匹配),赋予一个按钮,每次点一下按钮就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,可以向下复制,并修改一下里面的内容。
第4个回答  2012-12-19
给个方法给你,如果你会用的话,一分钟能搞定。
先做数据透视表,可以得到每个数字对应文字的对照表,如果你已经有这个数字与文字的对照表,那就更好了。
然后用vlookup函数,直接得到每个数字对应的文字。
相似回答