前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Excel应用实践25: 找出两个单元格区域中不相同的数据

Excel应用实践25: 找出两个单元格区域中不相同的数据

作者头像
fanjy
发布2020-01-14 17:05:01
1.6K0
发布2020-01-14 17:05:01
举报
文章被收录于专栏:完美Excel

有两组数据,一组是原来工作表中存储的,一组是从办公系统中下载的,这两组数据应该完全一样,但实际发现存在几个不相同的数据,现在想要找出这些不相同的数据,可是数据有上千条,一个个对照的话,速度慢不说,还不容易找全。

实际上,这就是在工作表中比较两列数据。将工作表中存储的数据放在一列,将下载的数据放在另一列,比较这两列数据。

我们来看看一组简化的数据比较,介绍实现方法。

最简单的方法是使用Excel的条件格式功能。如下图1所示,在列A和列C中有两组数据,要找出这两个区域中不相同的数据。

图1

第1步:选择单元格区域A1:A10,按住Ctrl键,再选择单元格区域C1:C10。

第2步:选取功能区“开始”选项卡中的“条件格式——突出显示单元格规则——重复值”命令,如下图2所示。

图2

第3步:在弹出的”重复值”对话框中,在左侧的下拉列表中选择“唯一”,右侧的“设置为”列表中选择适当的颜色选项,如下图3所示。

图3

单击“确定”按钮,结果如下图4所示,标识出了两组数据中不相同的值。

图4

接下来,我们使用VBA代码分别找出两组数据中不相同的值并输出。这里使用字典来实现,代码如下:

代码语言:javascript
复制
Sub GetDifferentItems()
    '字典对象变量
    Dim dict1 As Object
    Dim dict2 As Object
    '单元格对象变量
    Dim rngA As Range
    Dim rngC As Range
    Dim rngFind As Range
    Dim rng As Range
   
    '创建字典
    Set dict1 =CreateObject("scripting.dictionary")
    Set dict2 =CreateObject("scripting.dictionary")
   
    '赋值要比较的两个单元格区域
    Set rngA =Worksheets("Sheet1").Range("A1:A10")
    Set rngC =Worksheets("Sheet1").Range("C1:C10")
   
    '比较并将不同的值存储在字典中
    For Each rng In rngA
        Set rngFind =rngC.Find(What:=rng.Value)
        If rngFind Is Nothing Then
            dict1.Add rng.Value, rng.Value
        End If
    Next rng
   
    '比较并将不同的值存储在字典中
    For Each rng In rngC
        Set rngFind = rngA.Find(What:=rng.Value)
        If rngFind Is Nothing Then
            dict2.Add rng.Value, rng.Value
        End If
    Next rng
   
    '输出列A中有但列C中没有的项
    With dict1
        Range("B1").Resize(.Count, 1)= Application.Transpose(.Items)
    End With
   
    '输出列C中有但列A中没有的项
    With dict2
        Range("D1").Resize(.Count, 1)= Application.Transpose(.Items)
    End With
   
    '释放变量
    Set rngFind = Nothing
    Set dict1 = Nothing
    Set dict2 = Nothing
End Sub

代码运行后的结果如下图5所示。

图5

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 完美Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档