You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用VBA删除Excel中编号末尾不为00的行

删除工作表中编号列末尾不为“00”的行

下面提供几种实用的处理方法,适配不同场景需求:

方法1:手动筛选(适合小数据量)

  • 假设编号列是B列,在旁边空白列(比如C列)的C2单元格输入公式:=RIGHT(B2,2)="00",下拉填充到所有数据行
  • 选中C列,点击「数据」选项卡的「筛选」按钮,点击C列表头的筛选箭头,只勾选TRUE
  • 此时显示的都是符合要求的行,你可以直接保留这些行,或者删除隐藏的不符合条件的行

方法2:Power Query自动化(适合大数据量或重复处理)

  1. 选中整个数据区域,点击「数据」选项卡 → 「从表格/区域」(Excel 2016及以上版本可用)
  2. 在弹出的Power Query编辑器里,点击「添加列」→ 「自定义列」,输入公式:=Text.End([Number],2)="00"
  3. 点击自定义列的筛选箭头,只保留TRUE的记录
  4. 删除刚才添加的自定义列,点击「关闭并上载」,处理后的数据会自动导入新工作表

方法3:VBA批量处理(适合需要反复执行的场景)

按下Alt+F11打开VBA编辑器,右键点击左侧的工作表名称,选择「插入」→「模块」,粘贴以下代码:

Sub DeleteNonZeroEndRows()
    Dim ws As Worksheet
    Dim lastRow As Long
    Dim i As Long
    
    Set ws = ActiveSheet
    lastRow = ws.Cells(ws.Rows.Count, "B").End(xlUp).Row
    
    ' 从最后一行往上删,避免删行后索引错乱
    For i = lastRow To 2 Step -1
        If Right(ws.Cells(i, "B").Value, 2) <> "00" Then
            ws.Rows(i).Delete
        End If
    Next i
End Sub

回到Excel界面,按下F5运行代码,就能自动删除所有编号末尾不是“00”的行

示例

原始数据

user_id Number
john    098746700
Matt    087788888
mary    098888700

处理后结果

user_id Number
john    098746700
mary    098888700

内容的提问来源于stack exchange,提问作者Gary Mannion

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 21:01:02