Excel:两列数据比对,有不同的数据将单元格标记出来

今天给系统排查问题,需要比较下两张表字段看看有哪些不一样,表字段都有70多个,用Excel实现了下;
表1是标准表字段,用表2这一列去比较表1,把不一样的标记出来;
效果如下;

在这里插入图片描述

实现步骤
1.
在这里插入图片描述
在这里插入图片描述

2.输入函数,点击确定即可

=ISERROR(MATCH(B2, $A$2:$A$11, 0))
@函数解读
值1的范围 A2-A11
值2的范围 B2-B11
将值1的头尾A2,A11,值2的头B2代进去就可以了,'$'美元符号不能动

在这里插入图片描述
在这里插入图片描述
再试一个

=ISERROR(MATCH(B2, $A$2:$A$13, 0))

在这里插入图片描述

  • 7
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 可以通过以下步骤使用VBA文件来比对Excel中的两列数据差异: 1. 打开Excel文件并进入Visual Basic编辑器界面。 2. 在编辑器界面中,点击"插入"选项卡,然后选择"模块"。 3. 在新建的模块中,编写VBA代码来比对两列数据的差异。以下是一种可能的实现方式: ``` Sub CompareColumns() Dim ws As Worksheet Dim rng1 As Range, rng2 As Range, cell As Range Dim diffCount As Integer ' 设置要比对的工作表和数据范围 Set ws = ThisWorkbook.Sheets("Sheet1") Set rng1 = ws.Range("A2:A10") Set rng2 = ws.Range("B2:B10") ' 初始化差异计数器 diffCount = 0 ' 循环比对两列数据 For Each cell In rng1 If cell.Value <> rng2.Cells(cell.Row - rng1.Row + 1).Value Then ' 如果两列数据不一致,则在第三列标识差异 ws.Cells(cell.Row, 3).Value = "差异" diffCount = diffCount + 1 End If Next cell ' 输出差异计数结果 MsgBox "两列数据共有" & diffCount & "处差异。" End Sub ``` 4. 在代码中,需要根据实际情况修改工作表名称和数据范围。 5. 运行VBA代码,可以通过点击"运行"选项卡中的"运行子过程"按钮或按下F5键。 6. 运行完毕后,Excel中的第三列将会标识出两列数据的差异,并弹出一个对话框显示差异的计数结果。 请注意,以上代码仅比对两列数据的每个单元格的值是否相等。如果需要进一步比对其他方面的差异,可以根据实际需求进行修改。 ### 回答2: Excel比对两列数据差异可以使用VBA编写一个差异比对工具。下面是一个简单的示例代码: ``` Sub CompareColumns() Dim ws As Worksheet Dim columnA As Range, columnB As Range Dim cellA As Range, cellB As Range Dim diffCount As Integer ' 设置工作表和比对两列数据范围 Set ws = ThisWorkbook.Sheets("Sheet1") Set columnA = ws.Range("A2:A" & ws.Cells(Rows.Count, 1).End(xlUp).Row) Set columnB = ws.Range("B2:B" & ws.Cells(Rows.Count, 2).End(xlUp).Row) diffCount = 0 ' 循环比对两列数据的每个单元格 For Each cellA In columnA If cellA.Value <> "" Then ' 查找第二列中与当前单元格不匹配的单元格 Set cellB = columnB.Find(cellA.Value, LookIn:=xlValues, LookAt:=xlWhole) If cellB Is Nothing Then ' 若第二列中没有匹配的值,则在第一列单元格后添加“差异”文字 cellA.Offset(0, 1).Value = "差异" diffCount = diffCount + 1 End If End If Next cellA ' 提示比对结果 MsgBox "比对完成,共找到 " & diffCount & " 处差异。" End Sub ``` 将以上代码复制粘贴到Excel的VBA编辑器中,然后运行宏CompareColumns,即可对A列和B列进行差异比对比对结果会在A列对应单元格的右侧生成“差异”文字,并且会弹出一个消息框显示比对结果。注意,此代码是根据双列完全匹配进行比对,如果比对数据有其他需求(如部分匹配、区分大小写等),需要根据具体情况进行修改。 ### 回答3: Excel比对两列数据差异的VBA文件可以通过以下方式实现: 1. 首先,在Excel中创建一个新的宏文件(.xlsm格式)或打开Visual Basic编辑器。 2. 在模块中声明并定义变量,用于存储两列数据的差异和比对结果。 3. 使用Range对象来引用要比对两列数据的范围。 4. 使用For Each循环遍历其中一列,将每个值与另一列中的值进行比对。 5. 如果两个值不相等,则将其记录到差异数组中。 6. 循环结束后,将差异数组中的值写入新的工作表或新的列中。 以下是一个简单的例子代码: ``` Sub CompareColumns() Dim diffArray As Variant '用于存储差异的数组 Dim diffIndex As Long '差异数组的索引 Dim rng1 As Range '第一列数据的范围 Dim rng2 As Range '第二列数据的范围 '定义两列数据的范围 Set rng1 = Range("A1:A10") Set rng2 = Range("B1:B10") '定义差异数组的大小 ReDim diffArray(1 To rng1.Rows.Count) '比对两列数据的每个值 diffIndex = 1 For Each cell In rng1 If cell.Value <> rng2.Cells(diffIndex).Value Then '如果两个值不相等 diffArray(diffIndex) = cell.Value '将第一列的值存入差异数组中 End If diffIndex = diffIndex + 1 Next cell '将差异数组的值写入新的工作表或新的列中 For i = 1 To rng1.Rows.Count Worksheets("Sheet2").Cells(i, 1).Value = diffArray(i) Next i End Sub ``` 以上代码仅为简单示例,你可以根据实际需求进行修改和扩展。同时,请确保正确定义并设置要比对的列的范围,并指定要写入差异结果的工作表或列。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只大萌新!

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值