假设有如下图标中的对应关系(英文对应数字,a对应11,c对应23....):
如何把下面的数值按上面的对应关系做替换(替换成英文)?
想按照对应关系在excel里做批量替换,怎么做?
答案:4 悬赏:20
解决时间 2021-03-22 19:36
- 提问者网友:孤笛钟情你
- 2021-03-22 12:18
最佳答案
- 二级知识专家网友:不羁的心
- 2021-03-22 12:35
'如果有巨量数据用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
全部回答
- 1楼网友:不服输就别哭
- 2021-03-22 16:00
假定:
第一组数据在“表一”、第二组数据在“表二”,列标题“代码”、“名称”、“单价”在表中第一行依次排列。单元格区域均为a1:c10。
问题:
用“表二”中的“单价”数据去替换“表一”中对应代码下的单价。
方案:
在“表一”的c2单元格编辑公式
=if(a2="","",vlookup(a2,表二!$a$1:$c$10,3))
向下复制公式到c10单元格。
公式释义:
如果在“表一”的a2单元格代码是空白,则在c2中返回空白,否则用a2中的代码到“表二”a1:c10单元格区域的第一列去查找相同代码值,并返回所查找到的代码所在行第3列(即单价列)单元格的数值。
公式中的数字“3”代表列数(即从a列数到c列)。
希望对你有所帮助!
- 2楼网友:无字情书
- 2021-03-22 14:30
A6中输入公式:
=INDEX(SHEET1!$A:$A,MATCH(A1,SHEET1!$B:$B,))
右拉下拉,完成后复制A6:E9区域,选中A1:E4区域,点右键,选择性粘贴数值。最后删除A6:E9区域就可以了。
- 3楼网友:都不是誰的誰
- 2021-03-22 12:58
第一种:手工查找替换
第二种:用vlookup函数:先把已有资料A栏资料复制到C栏,在用Vlookup找到对应的英文。复制贴上就OK了,希望能帮到你
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯