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

发布网友 发布时间:2022-02-21 16:18

我来回答

5个回答

热心网友 时间:2022-02-21 17:47

一般的函数很难完成这个替换,需要用VBA 来执行,利用字典和替换字符函数来完成,代码很简单,如下:

Sub 替换()

Dim Dic As Variant

n = Cells(Rows.Count, 2).End(xlUp).Row

Set Dic = CreateObject("Scripting.Dictionary")

For i = 2 To n

Dic(Cells(i, 2).Value) = "中国"

Next

arr = Dic.keys

n = Cells(Rows.Count, 1).End(xlUp).Row

For i = 2 To n

For j = 0 To UBound(arr)

If Application.IsError(Application.Find(arr(j), Cells(i, 1))) = False Then

Cells(i, "a") = Application.Substitute(Cells(i, 1), arr(j), "中国")

Exit For

End If

Next

Next

End Sub

热心网友 时间:2022-02-21 19:05

2,然后把旁边一列当辅助列,2,然后把旁边一列当辅助列,第一空格打进1,第二空格打入公式:=if($a3=$a2,2,1),然后2,然后把旁边一列当辅助列,第一空格打进1,第二空格打入公式:=if($a3=$a2,2,1),然后按下回车键就行回车键就行空格打进1,第二空格打入公式:=if($a3=$a2,2,1),然后按下回车键就行

热心网友 时间:2022-02-21 20:40

录一个查找替换的宏(选项里单元格匹配),赋予一个按钮,每次点一下按钮就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,可以向下复制,并修改一下里面的内容。

热心网友 时间:2022-02-21 22:31

1、首先对你要去除重复数据的那一列数据进行排序(升序或降序都行)
2,然后把旁边一列当辅助列,第一空格打进1,第二空格打入公式:=if($a3=$a2,2,1),然后按下回车键就行
3、拖动2中的公式应用到下面剩余的单元格中,重复出现的词旁边单元格的值变为2,否则就是1
4、点击“数据”中的筛选功能,把值为2的行筛选出来
5、直接把这些重复的行删除即可,剩下的词都是唯一的了

热心网友 时间:2022-02-22 00:39

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com