只有當有 4 個或更多實例時,如何刪除(或反白)Excel 中的重複行?

只有當有 4 個或更多實例時,如何刪除(或反白)Excel 中的重複行?

我有一個 Excel 文檔,其中包含 300 多行資料。 A 列按人員姓名排序,我只需要隔離具有少於 4工作表內出現的情況。

有沒有辦法刪除所有4個或更多的名字?或者,突出顯示所有具有 4 個或更多的名稱?

謝謝你!

答案1

假設我們從以下開始:

在此輸入影像描述

我們運行這個簡短的巨集:

Sub RowKiller101()
  Dim rKill As Range, r As Range, wf As WorksheetFunction
  Dim rBig As Range
  Set rBig = Intersect(Range("A:A"), ActiveSheet.UsedRange)
  Set rKill = Nothing
  Set wf = Application.WorksheetFunction

  For Each r In rBig
    If wf.CountIf(rBig, r.Value) > 3 Then
      If rKill Is Nothing Then
        Set rKill = r
      Else
        Set rKill = Union(rKill, r)
      End If
    End If
  Next r

  If rKill Is Nothing Then Exit Sub
rKill.EntireRow.Delete
End Sub

我們將得到:

在此輸入影像描述

答案2

對於非 VBA 解決方案:

在 B 列中輸入公式=countif($A:$A,$A1),您的電子表格現在將如下所示:

    A    B  
1  Joe   3  
2  Joe   3  
3  Joe   3  
4  Amy   5  
5  Amy   5  
6  Amy   5  
7  Amy   5
8  Amy   5

然後選擇A1,轉到條件格式(自訂規則)並輸入公式=B1>=4。然後將規則套用到 A 列所需的數量$

答案3

Gary 的學生:VBA 解決方案刪除除 <4 人群之外的所有人群
selwyth:公式解決方案僅過濾 <4 人群
此答案:條件格式解決方案僅突出顯示 <4 人群

(您也可以參考辦公室支援文章關於在條件格式中使用公式,事實證明,該公式用於COUNTIF其範例。

  1. 選擇資料範圍(在範例中,我選擇了所有列A:A
  2. Home功能區上,按一下Conditional Formatting,然後New Rule...
  3. 選擇Use a formula to determine which cells to format
  4. 輸入類似 A 的公式=COUNTIF($A:$A,$A1)<4
    $A:$A例如,它可能是$G$12:$G$48。這$很重要,因為它使它成為絕對參考這不會因細胞而改變。
    B. 將 更改$A1第一的選取範圍內的儲存格。請注意,這裡只有一個,$因為我們只希望該列是絕對的。我們希望行號(1在本例中為 )相對於目前儲存格。
    C. 結果是,條件格式 forA1將使用公式=COUNTIF($A:$A,$A1)<4,但對於A2,它將使用公式=COUNTIF($A:$A,$A2)<4。這就是控制絕對引用與相對引用($或 no $)為您所做的事情。
  5. 點擊該Format...按鈕並選擇您喜歡的格式。在本例中,我選擇以黃色背景突出顯示單元格。
  6. 點擊OK以關閉條件格式視窗並查看結果

步驟 1-5 的螢幕截圖

請注意,由於我這樣做的方式,所有空白行也會突出顯示。如果這對您不起作用,有幾種方法可以解決它。我推薦選項 1,因為這是一種跟上清單增長的簡單方法。

  1. 將步驟 4 中使用的公式變更為=AND($A1<>"",COUNTIF($A:$A,$A1)<4)
  2. 不要像我在步驟 1 中那樣選擇所有列A:A,而是僅選擇資料範圍。
  3. 建立條件格式後,返回Conditional Formatting Rules Manager(主頁功能區 > 條件格式 > 管理規則...)並將欄位Applies to從變更=$A:$A為特定內容,例如=$A$1:$A$19。這與使用選項 2 的結果相同,但它允許您在事後更改它。

相關內容