KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何在 Excel 中删除不包含特定文本的行?

作者修改日期

许多 Excel 用户熟悉在单元格包含特定文本时删除整行的操作。然而,您可能也会遇到需要删除包含特定文本的行的情况。例如,面对一个大型数据集,您或许希望仅保留与某个关键词相关的行,同时快速清除其余无关内容。这一操作在筛选报告、清理调查回复、数据质量控制等场景中尤为实用。虽然 Excel 未提供一键式解决方案,但您可以灵活运用多种高效方法——无论您是初学者还是进阶用户,都能找到适合自身技能水平和需求的最佳方案。本教程将带您掌握几种在 Excel 中精准删除不包含指定文本字符串的行的实用技巧,包括筛选法、VBA 宏、Kutools 工具以及公式辅助法。

使用筛选功能删除不包含特定文本的删除行

使用 VBA 删除不包含特定文本的删除行

使用 Kutools for Excel 删除不包含特定文本的删除行

使用 Excel 公式(辅助列)删除不包含特定文本的删除行


蓝色右箭头气泡使用筛选功能删除不包含特定文本的删除行

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),否则已删除的行将无法恢复。若您的表格包含合并单元格或嵌套小计,此方法可能效果不佳。


蓝色右箭头气泡 使用 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)或关闭文件而不保存,再以正确参数重试。高级用户可根据需要调整代码,以支持部分匹配或多条件匹配。


蓝色右箭头气泡 使用 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 的选择功能可与其他功能灵活搭配,助您实现更精准、高效的数据管理。


蓝色右箭头气泡 使用 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 结果,并在批量删除前保存备份副本,以防万一。


相关文章:

最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……


Office Tab 为 Office 带来标签式界面,让您的工作更轻松

  • 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读
  • 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
  • 将您的工作效率提升 50%,每天减少数百次鼠标点击!

所有 Kutools 插件,一个安装程序

Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱