突出显示完全重复的行(不是单个值)

我已经看了几个其他堆栈溢出问题,但是我还没有find我正在寻找的答案。

我有一个25000行的Excel表格,格式如下:

userid | taskid | taskcode 1 | 3 | K 1 | 4 | O 1 | 4 | L 1 | 5 | O 2 | 3 | O 

我想要做的是确定任何重复的行考虑useridtaskid ,在上面的例子中,我希望第二和第三行被突出显示。

我不知道它是多么可行,我理想的是要确定包含taskcode O而不是L的重复行。

我的最终目标是使用任务代码O删除所有重复的userid / taskid行,而不pipe它是如何实现的(突出显示然后按高亮或使用vba进行sorting)。

好吧,解决它之后搞乱 – 我会留下这个答案在这里供将来参考,除非有一个更有效的方法确定。

步骤1

在D列中使用=A2&B2创build一个具有useridtaskid值的组合单元格。

第2步

使用内置条件格式来突出显示重复项。

第3步

使用顶部的突出显示的重复红色突出显示的单元格进行自定义sorting,然后按所选的自定义顺序(O,K,L)sortingtaskcode

步骤4

只需突出显示您想要删除的所有行(现在在块中)。

如果你想尝试使用VBA。

 Sub duplicates_separation() Dim duplicate(), i As Long Dim delrange As Range, cell As Long Dim delrange2 As Range Dim shtIn As Worksheet Dim numofrows1 Set shtIn = ThisWorkbook.Sheets("sheet1") x = 2 y = 1 Set delrange = shtIn.Range("c1:b30000") 'set your range here Set delrange2 = shtIn.Range("b1:f30000") ReDim duplicate(0) 'search duplicates in 2nd column For cell = 1 To delrange.Cells.Count If Application.CountIf(delrange, delrange(cell)) > 1 Then ReDim Preserve duplicate(i) duplicate(i) = delrange(cell).Address i = i + 1 End If Next 'search duplicates in 3rd column For cell = 1 To delrange2.Cells.Count If Application.CountIf(delrange2, delrange2(cell)) > 1 Then ReDim Preserve duplicate(i) duplicate(i) = delrange2(cell).Address i = i + 1 End If Next 'print duplicates For i = UBound(duplicate) To LBound(duplicate) Step -1 shtIn.Range(duplicate(i)).EntireRow.Value.delete x = x + 1 Next i End Sub