2019-04-10 15:42:07Excel媛媛
在一个excel表格中,在没有经过办公人员处理下经常会出现一个或者多个重复值,办公人员需要进行整理和挑选重复值删除,那么有些新人不懂删除重复值怎么办?不用着急,下面小编会给大家普及下Excel中查找和删除重复值的教程。
㈠查找重复值
方法一:辅助列+公式法
在A列的右侧插入辅助列,在辅助列中输入公式来确定区域中的重复值。
1.在B2单元格中输入公式
=IF(SUMPRODUCT(--(A2=$A$2:$A$21))》1,“重复”,“”)
或:
=IF(COUNTIF($A$2:$A$21,A2)》1,“重复”,“”)
然后双击B2单元格右下角的填充柄,公式将自动填充到B3:B21区域。这时可以看到A列中的重复值对应在B列中都显示为“重复”。
方法二:条件格式法
Excel 2003:
1.选择A2:A21区域,单击菜单“格式→条件格式”。
2.弹出“条件格式”对话框,在对话框左侧的下拉列表中选择“公式”,在右侧的文本框中输入公式:
=SUMPRODUCT(--(A2=$A$2:$A$21))》1
或:
=COUNTIF($A$2:$A$21,A2)》1
单击“格式”按钮,在弹出的“单元格格式”对话框中选择“图案”选项卡,选择某种颜色,单击“确定”。
3.单击“确定”,Excel将包含重复值的单元格用所选颜色标记出来。
Excel 2007:
选择区域A2:A21,然后单击功能区“开始→条件格式→突出显示单元格规则→重复值”,在“重复值”对话框中单击“确定”。
可以看到所有重复的姓名都用浅红色标记出来。
㈡删除重复值
方法一:利用高级筛选
1.单击菜单“数据→筛选→高级筛选”。
2.在“高级筛选”对话框中,选择“将筛选结果复制到其他位置”,并且勾选“选择不重复的记录”,单击“列表区域”文本框右侧的按钮,选择区域A2:A21,表示需要筛选的数据区为A2:A21,同样,将“复制到”区域设置为$C$2,如图。
3.单击“确定”。Excel将把筛选后的结果放置到C2:C18中,去掉了其中的3个重复值。
方法二:利用数据透视表
1.选择A1:A21区域中的任意单元格,单击菜单“数据→数据透视表和数据透视图”,然后直接单击“下一步”按钮,在3步骤之2中可以看到“选定区域” 已自动设置为“Sheet1!$A$1:$A$21”,再次单击“下一步按钮”,在3步骤之3中,选择“现有工作表”,区域选择C2单元格,然后单击“完 成”按钮。
2.在“数据透视表字段列表”中,选择“神雕人物名单”,用鼠标左键将其拖至行字段区域,或直接单击“添加到”按钮。
3.可以看到Excel已自动将重复值去掉,并拼音顺序将名单排好了。
方法三:用Excel 2007中的“删除重复项”功能
选择A2:A21区域,单击功能区“数据→删除重复项”,在“删除重复项”对话框中单击“确定”。
Excel 2007自动将重复值删除,并给出提示。
方法四:辅助列+合并计算
利用Excel中的合并计算功能删除重复值,该方法不仅适用于一列数据,还能合并不同工作表中的多个单列数据并去掉合并后的重复项。以Excel 2003为例介绍如下:
1.由于数据在A列,以其右侧的B列为辅助列。在B列对应A列数据区域中的任一单元格中输入一个数值,以便Excel进行合并计算。如在B8输入一个数值“2”。
2.本例将删除重复值的数据将放置在D列,选择D2单元格。单击菜单“数据→合并计算”,弹出“合并计算”对话框。单击“引用位置”下的文本框,选择 A2:B21区域,单击“添加”按钮,将该区域添加到“所有引用位置”下方的区域中。在“标签位置”下勾选“最左列”,“函数”下方的选项保持默认的“求 和”即可。
如果要合并多列去重复,继续选择其他列并单击“添加”按钮。
3.单击“确定”,可以看到Excel删除A列中的重复值并将数据放置到D2:D18区域。
方法五:用VBA
这两段VBA代码分别运用了Scripting.Dictionary和Collection对象,并利用了其元素具有唯一性的特点。
1.用Scripting.Dictionary对象:
Sub Uniquedata()
Dim Cel As Range, Res
‘创建对象
Set d = CreateObject(“Scripting.Dictionary”)
’遍历数据区域的单元格
For Each Cel In Range(“A2:A21”)
‘判断单元格内容是否为空
If Cel 《》 “” Then
’如果字典对象中不包含同样的对象就添加该对象
If Not d.exists(Cel.Value) Then d.Add Cel.Value, Cel.Value
End If
Next
Res = d.Items
‘将对象中的元素写入工作表
For i = 0 To d.Count - 1
Cells(i + 2, 3) = Res(i)
Next i
End Sub
2.用Collection对象:
Sub Uniquedata1()
Dim myList As New Collection, Cel As Range, itm, i As Integer
On Error Resume Next
’遍历数据区域的单元格
For Each Cel In Range(“A2:A21”)
‘判断单元格内容是否为空
If Cel 《》 “” Then myList.Add Cel.Value, CStr(Cel.Value)
Next
On Error GoTo 0
i = 1
’将非重复值写入工作表
For Each itm In myList
Cells(i + 1, 3) = itm
i = i + 1
Next
End Sub
以上内容便是Excel中查找和删除重复值的教程了,大家学会了吗?可以关注教程之家,里面有更多精彩的教程哦。
2020-08-24
2020-06-01
2020-09-03
2020-03-21
2021-11-03