excel中处理重复数据的方法比较多,常见的有以下几种:
条件格式:选中源数据区域-->开始-->条件格式-->新建规则-->对于唯一值或重复值设置格式-->格式-->选择一种填充色-->确定,操作完成后,源数据区域所有的重复数据便被标记上了颜色。此方法的优点是源数据区域可以是一个跨行列的数组区域。
“删除重复项”功能:数据-->删除重复项-->以当前选定区域排序-->确定。此方法可以方便快捷的保留非重复数据,但是仅限于单列操作。
公式法:辅助列输入公式=countif(A1:A10,A1:A10)下拉,然后筛选公式值为1的列。
VBA法:输入如下代码:
Sub tst()
Dim cel1 As Range
Dim cel2 As Range
For Each cel1 In UsedRange
For Each cel2 In UsedRange
If cel1 = cel2 And cel1.Row > cel2.Row Then cel2.Interior.ColorIndex = 20
Next
Next
End Sub
示意图如下:
在C2中输入公式:=INDEX(A:A,SMALL(IF(MATCH(A$2:A$10001&"",A$2:A$10001&"",)=ROW($2:$10001)-1,ROW($2:$10001),4^8),ROW(A1)))&"" ,同时按下ENTER键,SHIFT键,和CTRL键,公式下拉.
在D2中输入公式:=MAX((A$2:A$10001=C2)*B$2:B$10001) ,同时按下ENTER键,SHIFT键,和CTRL键,公式下拉.
允许用宏的话:
假设数据在AB列从第一行开始
sub t()
dim dic as object
set dic=createobject("scripting.dictionary")
arr=[a1].currentregion
for i=1 to ubound(arr,1)
if dic.exists(arr(i,1))=false then
dic(arr(i,1))=arr(i,2)
else
if arr(i,2)>dic(arr(i,1)) then dic(arr(i,1))=arr(i,2)
end if
next
[c1].resize(dic.count,1)=application.transpose(dic.keys)
[d1].resize(dic.count,1)=application.transpose(dic.items)
end sub
运行宏,结果在CD列
=MAX(IF(EXACT($A$2:$A$21,A2),$B$2:$B$21))
按三键CTRL+SHIFT+ENTER结束公式输入
下拉填充