筛选D列大于“1”的数值,删除其所在行即可。
方法三:用VBA
利用VBA来删除某列重复值所在行的算法很多,例如可以用工作表函数COUNTIF、高级筛选或字典等。本文介绍用字典的方法,速度较快,特别适合于数据量较大的情况。在笔者的电脑中,1300多行的数据,用时不到0.1秒。
按Alt+F11,打开VBA编辑器,在代码窗口中粘贴下列代码。
Sub 删除A列重复值所在的行()
Dim d As Object
Dim Arr
Dim i As Integer
On Error Resume Next
Set d = CreateObject("Scripting.Dictionary")
Arr = Range("A2", [A65536].End(xlUp))
For i = 1 To UBound(Arr)
'将A列第一次出现的值添加到 Dictionary 对象
If Not d.exists(Arr(i, 1)) Then
d.Add Arr(i, 1), ""
Else
'将A列重复出现的值设置为空
Arr(i, 1) = ""
End If
Next
Set d = Nothing
Range("A2:A" & i) = Arr
'删除A列为空的行
Range("A2:A" & i).SpecialCells(xlCellTypeBlanks).EntireRow.Delete
End Sub