Excel-将值与相应的列匹配,检查值并删除行

时间:2019-01-21 09:02:32

标签: excel vba

我有一个(长长的)Excel值列表,其中包含列PartNoRev

我需要通过删除来缩小列表,将每个PartNoRev保留在最高的Rev数字下。

我的数据示例在这里
Example of my data here

这就是我要结束的事情
What I want to end up with

我要对此进行1500行。

2 个答案:

答案 0 :(得分:3)

我建议您创建一个临时助手列,其中包含此公式,该列从第2行向下复制。请注意,这是一个数组公式,必须使用CTL + SHIFT + ENTER进行确认。零件号不必连续。

=MAX(IF($C$2:$C$100=$C2,$D$2:$D$100))

在我的示例中,C2:C100是包含部件号的范围,而C2:D100是包含修订版号的范围。该公式将返回与C2相关的最大Rev数字。对于相同零件号的所有行,它将返回相同的修订号。因此,您可以使用Excel的过滤器功能删除重复项,从而获得所需的结果。

答案 1 :(得分:2)

同时按A列(升序)和列B(降序=最高值优先)排序。因此您的数据如下所示:

enter image description here (请注意,Rev现在将从最大值变为最小值)

然后使用Remove Duplicates功能删除A列中的重复项。因此最终得到:

enter image description here

如果您需要使用VBA进行此操作,请使用Macro Recorder(并在录制时手动进行)以初步了解代码的外观。使用宏记录器后,您应先阅读How to avoid using Select in Excel VBA,然后再继续。