如何删除一列数据中的重复值(如下图B列所示),但是不删除单元格?以下从同学会会员讨论中选出几个解决方法,供大家参考。01 函数法首先加入辅助列,使用COUNTIF函数计算每个商品名称在B列中第几次出现,注意公式的引用:=COUNTIF($B$2:B2,B2)。然后,在新列中使用IF函数返回所有第1次出现的商品名称。以E1单元格为例,公式为:=IF(C2>1,'',B2)。02 VBA杨勇同学利用VBA很快地编写了一个删除重复值的程序,对D列商品名称进行循环遍历和判断。从第3行开始,如果名称与上方名称相同,则删除此单元格内容。程序中,很好的使用了VBA中的经典语句,如For……Next,If……Then,Do……While等,快速解决问题。但是由于程序采用的是逐行判断,对于数据量较大的数据,运行速度会受到影响。03 VBA数据字典为了提高程序的运行速度,采用数据字典方法。依次将D列中每个单元格的商品名称添加至数字字典,如果字典中没有该名称,则设置键值为1。否则,如果字典中已经有该名称,说明是重复项,则将单元格的值设置为空。04 合并与取消合并我在Excel超能力插件中设计了一组快捷键,CTRL+SHIFT+M,一键合并相同单元格。从B列表到D列,只需先按相同值合并单元格,然后再取消合并单元格即可。第1步:选中B列商品名称,按CTRL+SHIFT+M,一键合并相同单元格;第2步:点击Excel开始选项卡下的【合并单元格】按钮,取消单元格合并,完成。
|