【问题标题】:Conditionally removing duplicates in Excel based on largest value in a Column根据列中的最大值有条件地删除 Excel 中的重复项
【发布时间】:2015-06-27 00:40:16
【问题描述】:

我在 Excel 中有一个 2 列数据,如下所示: 第一列是一个值,第二列包含一个对应的单词。但是,我想删除此数据集中的行,以便最后,对于第二列中的每个唯一单词,只保留一行,其中第一列中的值是该单词的最大值,甚至删除那些具有每个唯一单词的最大值重复,并为每个唯一单词保留一行。

2   cat
2   cat
1   cat
3   dog
2   dog
1   dog
2   milk
1   milk
2   juice
1   juice

列首先按第 2 列(因此单词按字母顺序:AZ)排序,然后按第 1 列排序(从最大到最小,因此最大值始终是每个单词的第一个值)。

我一直在尝试使用 Excel for Mac 2011 中的 advanced filtering 来执行此操作,但我似乎无法包含删除所有重复条目的条件,但第 1 列中具有最大值的条目除外。

想要的输出如下:

2   cat
3   dog
2   milk
2   juice

我一直在根据查询conditionally removing duplicatesherehere 寻找答案,但是提供的每个解决方案似乎都基于布尔条件(即有或没有信息),而不是确定哪个值最大作为删除重复或不删除的条件。

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 请问你有几百万?

标签: excel duplicates filtering conditional-statements


【解决方案1】:

如果你不想使用 VBA,你可以试试这个:

选择表格并从HOME -> Sort & Filter 中选择Custom Sort

首先按wordorder : A to Z 排序,然后Add Level 并按valueorder: Smallest to Largest 排序。

使用以下公式创建列Key(我假设您的数据有标题并从单元格A1开始。然后在单元格C2中输入公式=IF(B2<>B3,0,1)并复制下来。

然后复制并粘贴特殊值列C 并在列Key Descending 上排序或过滤1

最后,复制过滤后的表格并将其粘贴到别处,然后全选并Data -> Remove Duplicates 完成。或者您可以先执行最后一部分,然后运行上述步骤。

【讨论】:

    【解决方案2】:

    如果您有一个包含多列的日期集,当您从特定列(即猫、狗等)中删除重复项时(它也会删除该数据选择的整行),删除重复项功能会保留第一个在列中重复并删除其余部分。 (这是假设您已经对要从中删除重复项的列的数据集 a-z 进行了排序)。因此,如果您首先使用重复列作为 AZ 对数据集进行排序,然后添加一个值列排序为最高 - 最低的图层,然后当您删除重复项时,您会自动保留具有最高值的重复项并删除其他的。不幸的是,这是一个专门针对您的案例的方案。我不知道有条件删除有更多选择的任何其他方法。

    【讨论】:

      【解决方案3】:

      试试这个简短的宏:

      Sub SaveTheFirstItem()
          Dim N As Long, i As Long
      
          N = Cells(Rows.Count, 1).End(xlUp).Row
          For i = N To 2 Step -1
              If Cells(i, 2) = Cells(i - 1, 2) Then
                  Cells(i, 2).EntireRow.Delete
              End If
          Next i
      End Sub
      

      宏非常易于安装和使用:

      1. ALT-F11 调出 VBE 窗口
      2. ALT-I ALT-M 打开一个新模块
      3. 粘贴内容并关闭 VBE 窗口

      如果您保存工作簿,宏将与它一起保存。 如果您使用的是 2003 年以后的 Excel 版本,则必须保存 文件为 .xlsm 而不是 .xlsx

      要删除宏:

      1. 如上所示打开 VBE 窗口
      2. 清除代码
      3. 关闭 VBE 窗口

      要使用 Excel 中的宏:

      1. ALT-F8
      2. 选择宏
      3. 触摸运行

      要了解有关宏的更多信息,请参阅:

      http://www.mvps.org/dmcritchie/excel/getstarted.htm

      http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

      必须启用宏才能正常工作!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2018-05-27
        • 2019-02-12
        • 1970-01-01
        • 2020-05-22
        • 1970-01-01
        • 2021-03-20
        • 2017-01-16
        • 1970-01-01
        相关资源
        最近更新 更多