Skip to main content

Kutools for Office — 一套工具,五種功能。完成更多工作。

如何刪除 Excel 中不包含特定文字的列?

Author Sun Last modified

許多 Excel 使用者熟悉在列中包含特定文字時刪除整列的操作。然而,你可能會遇到需要刪除不包含某些文字的列的情況。例如,你可能有一個大型數據集,只想保留與特定關鍵字相關的列,並刪除所有其他列。這對於篩選報告、清理調查回應、數據質量控制等非常有用。雖然 Excel 沒有提供直接的一鍵解決方案,但有幾種實用的方法可以使用,每種方法都有不同的優勢,具體取決於你的技能水平和需求。本教程將引導你通過多種有效技術來刪除 Excel 中不包含指定文字字符串的列,包括篩選、VBA、Kutools 和公式方法。

使用篩選功能刪除不包含特定文字的列

使用 VBA 刪除不包含特定文字的列

使用 Kutools for Excel 刪除不包含特定文字的列

使用 Excel 公式(輔助列)刪除不包含特定文字的列


arrow blue right bubble 使用篩選功能刪除不包含特定文字的列

Excel 的篩選功能是一種簡單易用的方法,用於識別和刪除不包含特定文字的列。這種方法特別適合那些希望快速獲得視覺效果的人,並且適用於中小型數據表。然而,對於非常大的數據集或目標文字變化很大的情況,這種方法效率可能會降低。

1. 選擇包含要篩選文字的列。然後點擊「資料」>「篩選」以對表格應用篩選器。請參見截圖:

doc-delete-rows-not-contain-1
doc-arrow
doc-delete-rows-not-contain-2

2. 點擊相關列標題中的篩選按鈕(向下箭頭)以打開下拉篩選菜單。取消勾選所有選項,除了你想保留的文字;這意味著只有包含特定文字的列將保持可見。如果你的文字作為部分值或子字符串出現,考慮使用「文字篩選」>「包含...」選項以獲得更多靈活性。請參見截圖:

doc-delete-rows-not-contain-3

3. 現在,只有標題和包含指定文字的列將顯示;不包含該文字的列在當前視圖中被篩選掉。請參見截圖:

doc-delete-rows-not-contain-4

4. 選擇所有可見的列,除了標題(你可以點擊第一列,按住 Shift,然後點擊最後一列),然後右鍵點擊並從上下文菜單中選擇「刪除列」。此操作將移除可見(篩選進來)的列。刪除後,只有篩選掉的列(那些不包含指定文字的列)可能仍然隱藏。

doc-delete-rows-not-contain-5

5. 要完成此過程,再次點擊「資料」>「篩選」以移除篩選器,你會看到工作表中只剩下不包含指定文字的列。請參見截圖:

doc-delete-rows-not-contain-6
doc-arrow
doc-delete-rows-not-contain-7

注意:在刪除之前,仔細檢查是否只選擇了預期的列。刪除的列除非撤銷操作(Ctrl+Z),否則無法恢復。如果表格中包含合併單元格或嵌套小計,此方法不起作用。


arrow blue right bubble 使用 VBA 刪除不包含特定文字的列

如果你需要處理大型數據集或頻繁重複該操作,使用 VBA(Visual Basic for Applications)可以大大加快刪除過程。VBA 解決方案讓你自動化基於單元格是否包含或不包含特定文字字符串的列刪除,非常適合具有基本編程技能的用戶或需要自定義邏輯的情況(例如,區分大小寫匹配)。

1. 按 Alt + F11 打開 Microsoft Visual Basic for Applications 編輯器窗口。

2. 在編輯器窗口中,點擊「插入」>「模組」以打開新的模組窗口。將以下 VBA 代碼複製並粘貼到模組窗口中。

VBA:如果單元格不包含特定文字則刪除整列。

Sub DeleteRowNoInclude()
'Updateby Extendoffice
Dim xRow As Range
Dim rng As Range
Dim WorkRng As Range
Dim xStr As String
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set WorkRng = Application.Selection
Set WorkRng = Application.InputBox("Range", xTitleId, WorkRng.Address, Type:=8)
xStr = Application.InputBox("Text", xTitleId, "", Type:=2)
Application.ScreenUpdating = False
For i = WorkRng.Rows.Count To 1 Step -1
    Set xRow = WorkRng.Rows(i)
    Set rng = xRow.Find(xStr, LookIn:=xlValues)
    If rng Is Nothing Then
       xRow.Delete
    End If
Next
Application.ScreenUpdating = True
End Sub

3. 點擊「運行」按鈕。一個對話框將提示你選擇要處理的範圍(例如,你要搜索指定文字的列)。請參見截圖:

doc-delete-rows-not-contain-8

4. 點擊「確定」,在下一個彈出對話框中輸入要用作刪除條件的文字。為了獲得最佳結果,請按數據中的確切方式輸入文字。代碼執行非區分大小寫(默認)搜索;如果需要區分大小寫,請修改代碼。請參見截圖:

doc-delete-rows-not-contain-9

5. 點擊「確定」,任何單元格不包含指定文字(例如,“Apple”)的列將立即被刪除。確保在運行 VBA 宏之前保存你的工作,因為此操作無法輕易撤銷。如果出現意外結果,使用撤銷(Ctrl+Z)或關閉文件而不保存,然後使用正確的參數重試。對於高級用戶,你可以根據需要調整此代碼以進行部分匹配或多個條件。


arrow blue right bubble 使用 Kutools for Excel 刪除不包含特定文字的列

對於不想手動篩選或使用 VBA 的用戶,Kutools for Excel 提供了一種高效、互動的方式,只需幾次點擊即可快速選擇和刪除不包含特定文字的列。這在你經常處理數據或處理多個搜索條件時特別有用。儘管 Kutools 需要安裝,但它顯著簡化了複雜的 Excel 操作並支持批量操作。其操作直觀且初學者友好。

Kutools for Excel 包含超過 300 種便捷的 Excel 工具。免費試用 30 天無限制。立即獲取

1. 選擇你要刪除不包含指定文字的列,然後點擊「Kutools」>「選擇工具」>「選擇指定單元格」。請參見截圖:

doc-delete-rows-not-contain-10

2. 在「選擇指定單元格」對話框中,勾選「整列」,在下拉菜單中選擇「不包含」,並在文本框中輸入目標文字。或者,你可以點擊「指定類型」部分中的範圍選擇圖標以選擇包含所需文字的參考單元格。仔細檢查輸入是否有拼寫錯誤或額外空格,因為這些將影響選擇準確性。

doc-delete-rows-not-contain-11

3. 點擊「確定」。不包含定義文字的列將自動被選中。右鍵點擊任何突出顯示的列號,並從上下文菜單中選擇「刪除」。這將一次性刪除所有選中的列。請參見截圖:

doc-delete-rows-not-contain-12

4. 現在,所選範圍內所有不包含你指定文字的列都已從工作表中刪除。有關更多高級提示和最新功能,請參閱:選擇指定單元格文檔

提示:在刪除之前,檢查你的選擇以避免意外丟失所需數據,並考慮創建備份副本以確保安全。Kutools 的選擇功能可以與其他功能結合使用,以實現更定制化的數據管理。


arrow blue right bubble 使用 Excel 公式(輔助列)刪除不包含特定文字的列

另一種非常實用的方法是在輔助列中使用 Excel 公式。這種方法允許你快速識別每一列是否包含(或不包含)某些文字,然後根據需要進行篩選或刪除。這種方法適合那些熟悉公式並希望透明、可審核的流程來檢查結果的人。它特別適用於搜索文字可能出現在單元格的任何位置(而不僅僅是完全匹配)。

優勢:高度靈活,不需要插件或 VBA,安全因為不會立即刪除數據——用戶首先檢查結果。劣勢:多步驟過程,需要一些熟悉 Excel 公式和篩選器的知識。

說明:

1. 在數據旁邊添加一個新的輔助列。例如,假設你的文字在 A 列,數據從第 2 行開始(不包括標題)。

2. 在輔助列的第一行(例如 B2)中,輸入以下公式(將“text”替換為你想要搜索的字符串):

=ISNUMBER(SEARCH("text",A2))

如果 A2 單元格包含給定的文字(作為子字符串,不區分大小寫),此公式返回 TRUE,否則返回 FALSE

3. 按 Enter,然後雙擊單元格右下角以填充公式到數據集中的所有其他行。

4. 對輔助列使用篩選功能。點擊下拉箭頭,選擇 FALSE 以僅顯示不包含目標文字的列。選擇所有這些篩選後的列(如果不適用,則不包括標題),右鍵點擊,並選擇「刪除列」。

5. 刪除後,清除篩選以恢復視圖。驗證你的結果,並根據需要刪除輔助列。

參數和提示:

  • 如果需要匹配精確的單元格值(而不是子字符串),將公式修改為 =A2="text"
  • 如果你的數據包含空白單元格,ISNUMBER(SEARCH(...)) 返回 FALSE,這些列將被視為不包含文字。
  • 對於區分大小寫的匹配,在公式中將 SEARCH 替換為 FIND。

 

故障排除:公式方法在實際刪除列之前是非破壞性的。始終仔細檢查你的 TRUE/FALSE 結果,並在批量刪除之前考慮保存備份副本。


相關文章:

最佳 Office 生產力工具

🤖 Kutools AI 助手:以智能執行為基礎,革新數據分析 生成程式碼 創建自訂公式 分析數據並生成圖表 調用 Kutools 增強函數
熱門功能查找、選取項目的背景色或標記重複值刪除空行合併列或單元格且不遺失數據四捨五入(免公式)...
高級 LOOKUP多條件 VLookup多值 VLookup多表查找模糊查找...
高級下拉列表快速創建下拉列表 依賴型下拉列表 多選下拉列表...
列管理器添加指定數量的列移動列切換隱藏列的顯示狀態比較區域及列...
精選功能網格聚焦 設計檢視 增強編輯欄 工作簿及工作表管理器 資源庫(快捷文本) 日期提取器 合併資料 加密/解密儲存格 按列表發送電子郵件 超級篩選 特殊篩選(篩選粗體/傾斜/刪除線...)...
15 大工具集12 項文本工具添加文本刪除特定字符…)50+ 儀表 類型甘特圖等)40+ 實用 公式基於生日計算年齡等)19 項插入工具插入QR码根據路徑插入圖片等)12 項轉換工具金額轉大寫匯率轉換等)7 項合併與分割工具高級合併行分割儲存格等)...及更多
使用 Kutools,語言任你選 — 支援英語、西班牙語、德語、法語、中文及超過40 種語言!

運用 Kutools for Excel,全面提升您的 Excel 技能,體驗前所未有的高效。 Kutools for Excel 提供超過300 項進階功能,讓您提升工作效率、節省時間。 點此尋找您最需要的功能...


Office Tab 為 Office 帶來分頁介面,讓您的工作更加輕鬆簡單

  • 在 Word、Excel、PowerPoint 中啟用分頁編輯與閱讀
  • 在同一視窗的新分頁中打開與創建多份文件,而非開啟新視窗。
  • 提升您的生產力50%,每日可幫您減少數百次鼠標點擊!

所有 Kutools 外掛,一次安裝

Kutools for Office 套裝整合了 Excel、Word、Outlook 和 PowerPoint 的外掛,外加 Office Tab Pro,非常適合需要跨 Office 應用程式協同作業的團隊。

Excel Word Outlook Tabs PowerPoint
  • 全合一套裝 — Excel、Word、Outlook及 PowerPoint 外掛 + Office Tab Pro
  • 一鍵安裝,一份授權 — 幾分鐘完成設置(支援 MSI)
  • 協同運作更順暢 — Office 應用間無縫提升生產力
  • 30 天全功能試用 — 無需註冊、無需信用卡
  • 最超值 — 一次購買,節省單獨外掛費用