我有一个(长长的)Excel值列表,其中包含列PartNo
和Rev
我需要通过删除来缩小列表,将每个PartNo
和Rev
保留在最高的Rev
数字下。
我要对此进行1500行。
答案 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(降序=最高值优先)排序。因此您的数据如下所示:
然后使用Remove Duplicates功能删除A列中的重复项。因此最终得到:
如果您需要使用VBA进行此操作,请使用Macro Recorder(并在录制时手动进行)以初步了解代码的外观。使用宏记录器后,您应先阅读How to avoid using Select in Excel VBA,然后再继续。