You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

在Excel 365中如何基于单元格文本批量查找并删除多行

在Excel 365中如何基于单元格文本批量查找并删除多行

嗨,Liz!针对你要批量删除特定公司代码行的需求,我给你整理了几个Excel 365里高效的操作方法,你可以根据自己的实际情况选择:

方法一:使用筛选功能(最直观易上手)

这是最简单的操作方式,适合偶尔处理少量代码的场景:

  • 选中你的整个数据区域(记得包含表头),点击顶部菜单栏的「数据」选项卡,选择「筛选」,此时每列表头会出现下拉箭头
  • 点击A列(公司代码列)的下拉箭头,在搜索框中逐个输入要删除的代码并勾选,或者按住Ctrl键直接勾选所有目标代码
  • 选中所有筛选出来的数据行(注意不要点击表头,只选数据部分),右键点击选择「删除行」
  • 最后再次点击「筛选」取消筛选状态,剩下的就是你需要保留的行

方法二:辅助列+筛选(适合需要核对删除范围的场景)

如果需要先确认哪些行会被删除,这个方法更稳妥:

  • 在空白列(比如B列)插入辅助列,表头可以命名为「是否删除」
  • 在B2单元格输入公式:=IF(OR(A2="代码1",A2="代码2",A2="代码3"),"是","否"),把引号里的代码替换成你要删除的公司代码,需要删除多个的话继续用OR(A2="代码N")追加条件
  • 按Enter键后,下拉填充公式到所有数据行,此时需要删除的行对应的B列会显示「是」
  • 对B列进行筛选,只显示「是」的行,选中这些行删除即可,完成后可以根据需要删掉辅助列

方法三:VBA宏(适合批量处理大量代码的情况)

如果你经常需要处理这类批量删除需求,用宏可以节省大量时间:

  • 按下Alt+F11打开VBA编辑器,右键点击左侧的工程窗口,选择「插入」→「模块」
  • 粘贴以下代码,记得把代码列表里的内容替换成你要删除的公司代码,同时修改工作表名称为你实际的表名:
Sub DeleteRowsByCode()
    Dim ws As Worksheet
    Dim deleteCodes As Variant
    Dim lastRow As Long
    Dim i As Long
    
    ' 设置目标工作表,根据你的实际表名修改
    Set ws = ThisWorkbook.Worksheets("Sheet1")
    ' 定义要删除的公司代码列表,多个代码用逗号分隔
    deleteCodes = Array("CODE001", "CODE002", "CODE003")
    
    lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row
    
    ' 从下往上遍历行,避免删除行导致索引错位
    For i = lastRow To 2 Step -1
        If IsNumeric(Application.Match(ws.Cells(i, "A").Value, deleteCodes, 0)) Then
            ws.Rows(i).Delete
        End If
    Next i
End Sub
  • 回到Excel界面,按下Alt+F8调用宏,选择DeleteRowsByCode执行即可

备注:内容来源于stack exchange,提问作者Liz

火山引擎 最新活动