400-111-0518
免费体验高顿M云会员课程
找出两列数据差异,这个新增的Excel核对功能太好用了 关注公众号
2021-03-11 来源:高顿财税学院

工作中的大家是不是都非常的需要excel的知识技能呢!今日小编整理了excel中的找出两数列的差异,这个方法属实好用,大家快来看看,都是干货!(EXCEL培训

两列数据找差异,我们一般都是用条件格式 - 突出显示单元格格规则 - 重复值来快速完成。

  

  但如果同一列中有重复值 ,核对结果就出错了。

  

  一直想解决这个问题,直到昨天,用VBA编写了一个新功能,完美的解决了两列核对的问题。

  选中两列按Ctrl + m即可找出两列重复值

  

  做会计工作的同学都是遇到过一对一的核对情况,当核对的值出现多次时,需要进行一对一的核对。如下图所示,第一列有一个100,第二列出现两个100,那么一对一核对结果时第2列第2个100不应该填充颜色。

  

  这个用Ctrl+m同样可以完成。

  

  想用不同颜色显示一对一核对结果?当然可以!

  

  看到这么好用的核对功能,你是不是也想试一下Ctrl+m ? 先别试,因为你试了也没效果。你需要跟兰色一起做以下以步才可使用。

  第1步打开你要做核对的表格,工作表标签右键 - 点击查看代码。在弹出的新窗口插入 - 模块,然后复制下面的代码粘贴到右侧窗口中。

  Sub 核对()Dim kk = 3If k = 1 Then普通核对ElseIf k = 2 Then单色一对一核对ElseIf k = 3 Then多色一对一核对End IfEnd Sub

  

  Sub 普通核对()Dim arr1, arr2Dim 红 As Byte, 绿 As Byte, 黄 As ByteSet rg = SelectionIf rg.Areas.Count <> 2 Then Exit Subarr1 = rg.Areas(1)arr2 = rg.Areas(2)'开始核对'核对前删除颜色rg.Interior.ColorIndex = xlNoneFor x = 1 To UBound(arr1)For y = 1 To UBound(arr2)If arr1(x, 1) = arr2(y, 1) Thenrg.Areas(1)(x).Interior.Color = RGB(255, 199, 206)rg.Areas(2)(y).Interior.Color = RGB(255, 199, 206)End IfNext yNext xEnd SubSub 单色一对一核对()Dim arr1, arr2, arr3(1 To 10000)Dim 红 As Byte, 绿 As Byte, 黄 As ByteSet rg = SelectionIf rg.Areas.Count <> 2 Then Exit Subarr1 = rg.Areas(1)arr2 = rg.Areas(2)'开始核对'核对前删除颜色rg.Interior.ColorIndex = xlNoneFor x = 1 To UBound(arr1)For y = 1 To UBound(arr2)If arr1(x, 1) = arr2(y, 1) And arr3(y) <> 1 Thenrg.Areas(1)(x).Interior.Color = RGB(255, 199, 206)rg.Areas(2)(y).Interior.Color = RGB(255, 199, 206)arr3(y) = 1GoTo 10End IfNext y10:Next xEnd SubSub 多色一对一核对()Dim arr1, arr2, arr3(1 To 10000)Dim 红 As Byte, 绿 As Byte, 黄 As ByteSet rg = SelectionIf rg.Areas.Count <> 2 Then Exit Subarr1 = rg.Areas(1)arr2 = rg.Areas(2)'开始核对'核对前删除颜色rg.Interior.ColorIndex = xlNoneFor x = 1 To UBound(arr1)For y = 1 To UBound(arr2)If arr1(x, 1) = arr2(y, 1) And arr3(y) <> 1 Then红 = Application.RandBetween(1, 255)绿 = Application.RandBetween(1, 255)黄 = Application.RandBetween(1, 255)rg.Areas(1)(x).Interior.Color = RGB(红, 绿, 黄)rg.Areas(2)(y).Interior.Color = RGB(红, 绿, 黄)arr3(y) = 1GoTo 10End IfNext y10:Next xEnd Sub

  注:修改代码中K的值即可在几种核对模式中切换(1是普通核对,2是单色一对一核对,3是多色一对一核对)

  Sub 核对()

  Dim k

  k = 3

  If k = 1 Then

  普通核对

  ElseIf k = 2 Then

  单色一对一核对

  ElseIf k = 3 Then

  多色一对一核对

  End If

  第2步开发工具 - 宏 - 选取“核对” - 选项 - 快捷键后输入字母m

  

  第3步文件另存为启用宏的文件

  

  完成以上以步后,你就可以在当前文件中使用Ctrl + m了。

  也许你会问能不能在所有打开的Excel文件中使用它?可以,但你需要另存为加载宏文件,然后再加载它即可。但兰色一般不建议这样做,因为用宏做成的功能执行后不能撤消,万一你不小心按了Ctrl+m会破坏你表格的格式。

       大家是不是对于这个方法已经学会了呢,当然如果想要去了解更多的Excel知识,小编可以为大家推荐一门课程《EXCEL在财务管理中的应用》,该课程将EXCEL完备的数据分析统计功能与财务实践相结合为您提供复杂财务工作问题的高效解决思路和创新方案,欢迎大家报名预约!

定制企业专属培训方案

  • 姓名:
  • 电话:
  • 邮箱:
  • 所在公司:
  • 课程老师会在1个工作日内与您联系