如何根据shell值

时间:2016-08-30 14:44:00

标签: excel vba excel-vba

我有+ 18k行,每行代表机器的可能变体(轴直径,转速,材料,计算应力等)。

问题在于存在不必要的重复。我的意思是,在某些情况下,例如,轴可以由普通钢制成,因此也可以由高强度钢制成。在这种情况下,高强度钢变型是不必要的,因为普通钢可以承受应力并且也更便宜。 我是一名机械工程师......不是软件工程师。这就是为什么我要问如何删除那些不必要的组合?

我可以通过IF和SUMPRODUCT函数确定行是否重复。

  

= IF(SUMPRODUCT(($ A $ 6:$ A $ 18817 = A7126)* 1;($ F $ 6:$ F $ 18817 = F7126)* 1;($ H $ 6:$ H $ 18817 = H7126)* 1; ($ķ$ 6:$ķ$一万八千八百一十七= K7126)* 1;($ L $ 6:$ L $一万八千八百一十七= L7126)* 1;($ AK $ 6:$ AK $一万八千八百一十七= AK7126)* 1)→1;"重复&#34 ;;"否&#34)

通过逐列排序,我可以找到彼此之间重复的行。现在我可以逐行手动删除,但必须有更好的方法来执行此操作。

在下图中,行7126,12434和17598是重复的,但材料不同。我想删除所有其他的,但不是12434.提示??

enter image description here

1 个答案:

答案 0 :(得分:2)

在另一个工作表中,在一列中添加所有材料代码,在下一列中添加优先级顺序。例如,普通钢将具有优先级1,而拉伸钢将具有2.然后在该表中添加一列以使用VLOOKUP查找优先级。

然后使用优先级降序对此工作表进行排序,以便最优选的材料位于较不优选的材料之上。然后使用Excel的数据 - 删除重复项并选择A,F,H,K,L和AH列。

通过复制和粘贴特殊值将优先级列转换为值是个不错的主意。您可能还希望在开始此任务之前保留备份。