2011-05-27 07:10:09 +0000 2011-05-27 07:10:09 +0000
45
45

如何在Excel中比较两列,找出差异?

我在Excel中有两个列,想比较一下,找出两列之间的差异,假设:

–A列有50个数字,即0511234567 –B列有100个数字,格式相同,那么,如何比较两列的差异?

答案 (10)

55
55
55
2011-05-30 06:42:53 +0000
使用条件格式化

突出显示列 A. 单击 *条件格式化> *创建新规则> **使用这个公式来确定要格式化的单元格> 输入公式:

=countif($B:$B, $A1)

单击格式化按钮,将字体颜色改为你喜欢的颜色。 =countif($A:$A, $B1)

=if(countif($B:$B, $A1)<>0, "-", "Not in B")

使用独立的列

C列中,在第一个单元格中输入ff.

14
14
14
2011-05-27 07:28:04 +0000

微软有一篇文章详细介绍了如何在两列中找到重复的项目。例如,如果你想让C列显示A列中唯一的条目,而让D列显示B列中唯一的条目:

A B C D
1 3 =IF(ISERROR(MATCH(A1,$B$1:$B$5,0)),A1,"") =IF(ISERROR(MATCH(B1,$A$1:$A$5,0)),B1,"")
2 5 (fill down) (fill down)
3 8 .. ..
4 2 .. ..
5 0 .. ..
10
10
10
2015-04-09 21:12:31 +0000
4
4
4
2014-10-27 11:53:16 +0000

说你想在col. A. 输入C2:

=COUNTIF($A$2:$A$26;B2)

如果有匹配的,就输入C2:

&001

,如果有匹配,就会得到1(或更多),否则为0。但这将在第一个新项目后停止工作,你必须插入一个单元格,然后重新开始。

3
3
3
2011-05-27 07:24:51 +0000

这取决于你的单元格的格式和功能需求。如果你的单元格的格式是数字,你可以用 “0 "作为前导的 "0",然后在Excel中使用IF函数来比较单元格:

=IF ( logical_test, value_if_true, value_if_false )

例子:

=IF ( A1<>A2, "not equal", "equal" )

如果它们的格式是数字,你可以把第一列减去另一列,以得到差额:

=A1-A2
2
2
2
2012-07-02 12:56:21 +0000

这个公式将直接比较两个单元格。如果它们相同,就会打印出True,如果有一个差异,就会打印出False。这个公式不会打印出差异。

1
1
1
2015-04-17 08:33:22 +0000

我使用的是Excel 2010,只需高亮显示我所比较的两组值的两列,然后点击Excel首页的条件格式化下拉菜单,选择高亮单元格规则,然后选择差异。然后会提示高亮差异或相似度,并问你想用什么颜色高亮……

0
0
0
2018-02-13 13:17:16 +0000

NOT MATCH函数组合很好用。下面的函数也很好用:

= IF* ( IF* ( VLOOKUP* (VLOOKUP (<大列表中的项目>>>,<<<大列表中的项目>>>, 1* , FALSE )),<<大列表中的项目>>,“” )

记住:小列表必须按顺序排序–这是vlookup的要求

0
0
0
2016-12-14 07:15:47 +0000

这是用另一个工具,但我刚刚发现这个很容易做。使用记事本++:

在Excel中,确保你的2个列按相同的顺序排序,然后复制并粘贴到2个新的文本文件中,然后运行比较(从插件菜单)。

0
0
0
2016-09-05 14:50:57 +0000

比较过程可以用Excel VBA代码进行比较。比较过程可以用Excel VBA Worksheet.Countif函数进行比较。

在这个模板中对不同工作表上的两列进行了比较。它发现了不同的结果,因为整个行被复制到了第二个工作表上。

代码:

Dim stk, msb As Worksheet
Set stk = Sheets("Page1")
Set msb = Sheets("Page2")

Application.ScreenUpdating = False
sat = (msb.Range("A" & Rows.Count).End(xlUp).Row) + 1
For i = 2 To stk.Range("A" & Rows.Count).End(xlUp).Row
    If WorksheetFunction.CountIf(msb.Range("A2:A" & msb.Range("A" & Rows.Count).End(xlUp).Row), stk.Cells(i, "A")) = 0 Then
        msb.Range("a" & sat).EntireRow.Value = stk.Range("a" & i).EntireRow.Value
        msb.Range("a" & sat).Interior.ColorIndex = 22
        sat = sat + 1
    End If
Next
...

教程的视频。 https://www.youtube.com/watch?v=Vt4\hEPsKt8