想按照对应关系在excel里做批量替换,怎么做?
假设有如下图标中的对应关系(英文对应数字,a对应11,c对应23....):如何把下面的数值按上面的对应关系做替换(替换成英文)?...
假设有如下图标中的对应关系(英文对应数字,a对应11,c对应23....):
如何把下面的数值按上面的对应关系做替换(替换成英文)? 展开
如何把下面的数值按上面的对应关系做替换(替换成英文)? 展开
4个回答
展开全部
'如果有巨量数据用vba,测试了一下正确:
Sub test()
Dim arr, dic, i, j
Set dic = CreateObject("scripting.dictionary")
arr = Sheet2.Range("a1:b" & Sheet1.[a65536].End(xlUp).Row)
For i = 1 To UBound(arr, 1)
If Not dic.exists(arr(i, 2)) Then dic.Add arr(i, 2), arr(i, 1)
Next
arr = Sheet1.[a1:f4] '范围修改一下
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(arr, 2)
If dic.exists(arr(i, j)) Then arr(i, j) = dic(arr(i, j))
Next
Next
Sheet1.[a6].Resize(UBound(arr, 1), UBound(arr, 2)) = arr '起始位置修改一下
End Sub
Sub test()
Dim arr, dic, i, j
Set dic = CreateObject("scripting.dictionary")
arr = Sheet2.Range("a1:b" & Sheet1.[a65536].End(xlUp).Row)
For i = 1 To UBound(arr, 1)
If Not dic.exists(arr(i, 2)) Then dic.Add arr(i, 2), arr(i, 1)
Next
arr = Sheet1.[a1:f4] '范围修改一下
For i = 1 To UBound(arr, 1)
For j = 1 To UBound(arr, 2)
If dic.exists(arr(i, j)) Then arr(i, j) = dic(arr(i, j))
Next
Next
Sheet1.[a6].Resize(UBound(arr, 1), UBound(arr, 2)) = arr '起始位置修改一下
End Sub
展开全部
A6中输入公式:
=INDEX(SHEET1!$A:$A,MATCH(A1,SHEET1!$B:$B,))
右拉下拉,完成后复制A6:E9区域,选中A1:E4区域,点右键,选择性粘贴数值。最后删除A6:E9区域就可以了。
=INDEX(SHEET1!$A:$A,MATCH(A1,SHEET1!$B:$B,))
右拉下拉,完成后复制A6:E9区域,选中A1:E4区域,点右键,选择性粘贴数值。最后删除A6:E9区域就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一种:手工查找替换
第二种:用vlookup函数:先把已有资料A栏资料复制到C栏,在用Vlookup找到对应的英文。复制贴上就OK了,希望能帮到你
第二种:用vlookup函数:先把已有资料A栏资料复制到C栏,在用Vlookup找到对应的英文。复制贴上就OK了,希望能帮到你
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
最简单的方法是按CTRL+F ,选替换,查找内容填数字,替换填英文
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询