删除excel中重复记录并保留最大值

删除excel中重复记录并保留最大值

如图中所示,同一个料号存在对应的多个开始日期,现在需要标记并删除每个料号的重复记录,并保留对应日期最大的记录:

excel对重复值操作的方法比较多,常见的有以下几种:

  1. 条件格式(标记重复记录):选中源数据区域-->开始-->条件格式-->新建规则-->对于唯一值或重复值设置格式-->格式-->选择一种填充色-->确定,操作完成后,源数据区域所有的重复数据便 被标记上了颜色。此方法的优点是源数据区域可以是一个跨行列的数组区域。但此方法只能作标记,不能对重复记录直接进行删除或部分删除。
  2. “删除重复项”功能:
    首先将“开始日期”列按降序排序(即将保留记录的条件列按降序排列)
    删除excel中重复记录并保留最大值
    然后执行:数据-->删除重复项-->确定。
    删除excel中重复记录并保留最大值
    删除excel中重复记录并保留最大值
    此法可以快速删除重复记录并保留开始日期列最大的记录,但部分重复记录已被删除,无法标记查询。

3.公式法:
首先将“开始日期”列按升序排序(即将保留记录的条件列按升序排列)
删除excel中重复记录并保留最大值
然后,在辅助列(C列)中输入公式=COUNTIF(A2:A11,A2:A11)下拉,辅助列公式值1的记录即为最大值记录,不等于1的记录为需要删除的重复记录,可以筛选后删除。
删除excel中重复记录并保留最大值

注意,如果料号列字符数超过15位,会导致公式计算结果不正确,此时需要输入如下公式:
删除excel中重复记录并保留最大值

详情参考:如何用countif函数判断超过15位的数字

  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.delete
    Next
    Next
    End Sub

猜你喜欢

转载自blog.51cto.com/55800/2549658