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

一个很大的EXCEL表格,二十万条数据,其中一列的数字全部要换成文字,举例来说就是下面这样:替换前替换后1玉米1玉米2大豆3莲子2大豆4红薯4红薯9芋头20黑米35黄油4... 一个很大的EXCEL表格,二十万条数据,其中一列的数字全部要换成文字,举例来说就是下面这样:

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

总共有一百多个数字不断重复形成二十万条数据,如果使用EXCEL自带的全部替换功能要替换一百多次,累死了,不知有什么简便方法能一次替换完成?或者编成什么函数之类的也好,数据库里导出来全部都是这种代码,木有中文,我每个月做报表都要这么替换一次,疯了……
展开
 我来答
创作者zUzVB1Sl31
2016-12-23 · 编程类资料、英语学习资料
创作者zUzVB1Sl31
采纳数:1331 获赞数:5975

向TA提问 私信TA
展开全部
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

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

丘湘灵0FZ
推荐于2017-12-16 · TA获得超过1600个赞
知道小有建树答主
回答量:311
采纳率:0%
帮助的人:181万
展开全部
把需要替换的这些做成列表放到sheet2里面,分别在A,B列 A列放数字,B列放中文
假定你的这些数字是在A列,可以在后面空白列的第一行填入公式=vlookup(A1,sheet2!A:B,2,0)
然后下拉,再把这一列复制,选中数字那一列,选择性粘贴——数值
就可以了

数字不是在A列的话,把公式里面那个A1这里改一下,改成实际所在的列就可以了
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
excelfb
2019-06-10 · Excel常用在线工具介绍
excelfb
采纳数:2 获赞数:181

向TA提问 私信TA
展开全部
1、不需要写宏,可以用这个合并工具,打开浏览器(注意好像只支持谷歌浏览器)输入:www.excelfb.com,
2、点击 “多个Excel文件批量替换”,选择替换文件,选择批量替换的内容(Excel文件),
3、执行替换下载文件即可
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
E侠兔7502
2012-12-19 · TA获得超过3154个赞
知道大有可为答主
回答量:3205
采纳率:53%
帮助的人:2183万
展开全部
录一个查找替换的宏(选项里单元格匹配),赋予一个按钮,每次点一下按钮就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,可以向下复制,并修改一下里面的内容。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dadream33
2012-12-19 · TA获得超过1378个赞
知道小有建树答主
回答量:705
采纳率:100%
帮助的人:597万
展开全部
给个方法给你,如果你会用的话,一分钟能搞定。
先做数据透视表,可以得到每个数字对应文字的对照表,如果你已经有这个数字与文字的对照表,那就更好了。
然后用vlookup函数,直接得到每个数字对应的文字。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(8)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式