删除excel中重复记录并保留最大值
如图中所示,同一个料号存在对应的多个开始日期,现在需要标记并删除每个料号的重复记录,并保留对应日期最大的记录:
excel对重复值操作的方法比较多,常见的有以下几种:
- 条件格式(标记重复记录):选中源数据区域-->开始-->条件格式-->新建规则-->对于唯一值或重复值设置格式-->格式-->选择一种填充色-->确定,操作完成后,源数据区域所有的重复数据便 被标记上了颜色。此方法的优点是源数据区域可以是一个跨行列的数组区域。但此方法只能作标记,不能对重复记录直接进行删除或部分删除。
- “删除重复项”功能:
首先将“开始日期”列按降序排序(即将保留记录的条件列按降序排列)
然后执行:数据-->删除重复项-->确定。
此法可以快速删除重复记录并保留开始日期列最大的记录,但部分重复记录已被删除,无法标记查询。
3.公式法:
首先将“开始日期”列按升序排序(即将保留记录的条件列按升序排列)
然后,在辅助列(C列)中输入公式=COUNTIF(A2:A11,A2:A11)下拉,辅助列公式值1的记录即为最大值记录,不等于1的记录为需要删除的重复记录,可以筛选后删除。
注意,如果料号列字符数超过15位,会导致公式计算结果不正确,此时需要输入如下公式:
- 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.delete
Next
Next
End Sub