如何在Excel中删除columnA与columnB值相等的所有行?
在Excel中删除A列与B列值相等的行
针对你需要保留A、B列值不等的行,删除值相等行的需求,这里提供3种实用方法:
方法1:辅助列+筛选删除(新手友好)
- 在空白列(比如C列)的第一行(C1)输入公式:
=A1=B1,回车后,单元格显示TRUE表示当前行A、B列值相等,FALSE则表示不等 - 选中C列,双击单元格右下角的填充柄,把公式批量套用到所有数据行
- 点击「数据」选项卡的「筛选」按钮,再点C列的筛选箭头,只勾选
TRUE,确定后所有需要删除的行会被筛选出来 - 选中这些筛选出的整行(别点列标,选行号区域),右键选「删除行」
- 最后取消筛选,删掉辅助列就行
方法2:高级筛选(无需辅助列)
- 先准备条件区域:在表格外空白处(比如E1:F2),E1填
columnA,F1填columnB,E2输入<>,F2输入=columnB(这个条件代表A列不等于B列) - 选中你的数据区域(包含表头),点击「数据」选项卡的「高级」筛选
- 在弹窗里选「将筛选结果复制到其他位置」,设置「条件区域」为刚才的E1:F2,「复制到」选空白区域(比如H1),确定后就能得到所有A、B列不等的行
- 你可以直接用筛选后的结果,或者删掉原数据把筛选结果移回去
方法3:VBA批量删除(适合海量数据)
按下Alt+F11打开VBA编辑器,插入模块,粘贴以下代码:
Sub DeleteEqualRows() Dim ws As Worksheet Set ws = ActiveSheet Dim lastRow As Long lastRow = ws.Cells(ws.Rows.Count, "A").End(xlUp).Row ' 从最后一行往上遍历,避免删行后索引混乱 For i = lastRow To 2 Step -1 If ws.Cells(i, "A").Value = ws.Cells(i, "B").Value Then ws.Rows(i).Delete End If Next i End Sub
按下F5运行代码,就能自动删掉所有A、B列值相等的行
内容的提问来源于stack exchange,提问作者coder
相关产品推荐
相关产品推荐

