
我有一個 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
其範例。
- 選擇資料範圍(在範例中,我選擇了所有列
A:A
- 在
Home
功能區上,按一下Conditional Formatting
,然後New Rule...
- 選擇
Use a formula to determine which cells to format
- 輸入類似 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$
)為您所做的事情。 - 點擊該
Format...
按鈕並選擇您喜歡的格式。在本例中,我選擇以黃色背景突出顯示單元格。 - 點擊
OK
以關閉條件格式視窗並查看結果
請注意,由於我這樣做的方式,所有空白行也會突出顯示。如果這對您不起作用,有幾種方法可以解決它。我推薦選項 1,因為這是一種跟上清單增長的簡單方法。
- 將步驟 4 中使用的公式變更為
=AND($A1<>"",COUNTIF($A:$A,$A1)<4)
- 不要像我在步驟 1 中那樣選擇所有列
A:A
,而是僅選擇資料範圍。 - 建立條件格式後,返回
Conditional Formatting Rules Manager
(主頁功能區 > 條件格式 > 管理規則...)並將欄位Applies to
從變更=$A:$A
為特定內容,例如=$A$1:$A$19
。這與使用選項 2 的結果相同,但它允許您在事後更改它。