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

Excel如何基于两列区分大小写(case-sensitive)删除重复值

Excel两列区分大小写去重实现方案

以下两种方法均严格匹配两列文本大小写,完全满足示例中的去重规则,可根据数据量大小选择:

方案1:辅助列法(无代码,兼容全版本Excel,适合10万行以内数据)

  • 在现有数据区域旁插入1列空白辅助列:假设表头在第1行,数据从第2行开始,待判断列为A列、B列,辅助列使用C列
  • 点击C2单元格,输入如下公式:
    =SUMPRODUCT(--EXACT($A$2:A2,A2),--EXACT($B$2:B2,B2))=1
    输入完成后,Excel 2019及更早版本按Ctrl+Shift+Enter三键结束数组公式输入,365/2021及以上版本直接按回车即可
  • 选中C2单元格,下拉填充公式到所有数据行。公式返回TRUE代表该行是两列大小写完全匹配的首次出现项(保留),返回FALSE代表是重复项(需删除)
  • 选中辅助列,按Ctrl+Shift+L开启筛选,筛选出所有值为FALSE的行,整行删除即可完成去重

原理说明:Excel原生的EXACT函数是专门的区分大小写文本比对函数,搭配SUMPRODUCT逐行统计从数据起始行到当前行,与当前行A、B列内容大小写完全一致的行数,结果等于1即为唯一值。

方案2:VBA脚本法(适合10万行以上大数据量,处理效率更高)

  • 打开待处理工作簿,按Alt+F11调出VBA编辑器
  • 在左侧工程资源管理器中右键点击当前工作表名称,选择「插入 > 模块」,将如下代码粘贴到弹出的代码编辑窗口:
Sub CaseSensitiveDupRemove()
    Dim lastRow As Long, i As Long
    Dim dict As Object, keyVal As String
    Set dict = CreateObject("Scripting.Dictionary")
    dict.CompareMode = vbBinaryCompare ' 二进制比对模式,严格区分大小写
    ' 以下参数可根据实际表格修改:A代表判断列1为A列,B代表判断列2为B列,2代表数据从第2行开始
    lastRow = Cells(Rows.Count, "A").End(xlUp).Row
    ' 从最后一行向上遍历,避免删除行导致行号错位
    For i = lastRow To 2 Step -1
        keyVal = Cells(i, "A").Value & Chr(0) & Cells(i, "B").Value ' 用不可见字符拼接两列值,避免内容冲突
        If dict.Exists(keyVal) Then
            Rows(i).Delete
        Else
            dict.Add keyVal, ""
        End If
    Next i
    Set dict = Nothing
    MsgBox "区分大小写去重已完成"
End Sub
  • 按F5运行脚本即可自动完成去重,运行前建议备份原始数据,避免误操作无法恢复。

注意:如果你的待判断列不是A、B列,或者数据起始行不是第2行,修改代码注释中标注的对应参数即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 05:09:15