How to compare two columns and find differences in Excel?

45

25

I have two columns in Excel that I want to compare and find the differences between them.

Suppose:

  • Col A has 50 numbers, i.e. 0511234567
  • Col B has 100 numbers in the same format

Sundhas

Posted 2011-05-27T07:10:09.147

Reputation: 567

See this SO question for your answer.

– Patrick Honorez – 2011-05-27T07:32:38.837

With Excel 2007 and higher, you can use the builtin function to remove duplicates. Anyway, if you want to identify the duplicates, you can use array formula as it is explained here : http://chandoo.org/wp/2009/03/25/using-array-formulas-example1/

– JMax – 2011-06-16T07:36:09.480

I think this can be done with Excel's built in functions and formulas. Seems to me off topic. – Matt Handy – 2011-05-27T07:19:36.167

can you please specify how to do that? – None – 2011-05-27T07:20:38.007

So do you want to know which numbers are in Col A only and which numbers are in Col B only? – Tom Shaw – 2011-05-27T07:22:05.987

No, first i want to know all those numbers which are not in Col A but in Col B and then i want to know all those numbers which are in Col A but not in Col B. – None – 2011-05-27T07:54:38.787

I have used this formula :-

=COUNTIF($A:$A,$B:$B)=0

but i'm just getting those numbers which are in col B and not in col A. – None – 2011-05-27T07:58:48.410

@Sundhas: It is considered polite to accept answers to your questions. You have neglected to do so most of the time. You may want to go back and accept answers to your previous questions. This may motivate further help from other StackOverflow users. – None – 2011-05-27T08:43:12.460

Answers

55

Using Conditional Formatting

Highlight column A. Click Conditional Formatting > Create New Rule > Use this formula to determine which cells to format > Enter the ff. formula:

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

Click the Format button and change the Font color to something you like.

Repeat the same for column B, except use this formula and try another font color.

=countif($A:$A, $B1)

Using a Separate Column

In column C, enter the ff. formula into the first cell and then copy it down.

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

In column D, enter the ff. formula into the first cell and then copy it down.

=if(countif($A:$A, $B1)<>0, "-", "Not in A")

Both of these should help you visualize which items are missing from the other column.

Ellesa

Posted 2011-05-27T07:10:09.147

Reputation: 9 729

What version(s) of Excel was this tested on? – Peter Mortensen – 2016-09-21T14:19:09.660

1Where is "Conditional Formatting"? In a menu? In a context menu? – Peter Mortensen – 2016-09-21T14:19:20.223

In an older version of OpenOffice, corresponding to pre-ribbon Excel (it is a clone of Excel after all), there is menu command *Format* -> *Conditional Formatting*. – Peter Mortensen – 2016-09-21T17:09:11.863

1

This is about Excel, but in OpenOffice / LibreOffice using $B:$B to refer to the entire column B does not work. Instead use $B$1:$B$1048576 (where 1048576 is the highest-numbered row). Note $ in front of the numbers (so-called absolute references) - this makes it work as expected for operations like Fill Down (referred here to as "copy it down") or Fill Up.

– Peter Mortensen – 2016-09-21T19:26:08.810

14

Microsoft has an article detailing how to find duplicates in two columns. It can be changed easily enough to find unique items in each column.

For example if you want Col C to show entries unique to Col A, and Col D to show entries unique to Col 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   ..                                         ..

Tom Shaw

Posted 2011-05-27T07:10:09.147

Reputation: 376

10

Here's the formula that you are looking for:

=IF(ISERROR(NOT(MATCH(A1,$B$1:$B$11,0))),A1,"")

Enter image description here

Source: Excel: Find differences between two columns

Mark Randol

Posted 2011-05-27T07:10:09.147

Reputation: 101

1This is essentially the same as Tom Shaw's answer above. – Excellll – 2015-04-09T21:19:57.777

4

If I understand your question well:

=if(Ax = Bx; True_directive ; False_directive)

Replace True/false directives by a function or by a string like "Equal" or "different".

pasta

Posted 2011-05-27T07:10:09.147

Reputation:

@pasta this will not work if the two columns are not sorted alike-I think the question is not about it. – SIslam – 2016-12-22T09:16:11.870

4

Say you want to find those in col. B with no match in col. A. Put in C2:

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

This will give you 1 (or more) if there's a match, 0 otherwise.

You can also sort both columns individually, then select both, Goto Special, select Row Differences. But that will stop working after the first new item, and you will have to insert a cell then start again.

Patrick Honorez

Posted 2011-05-27T07:10:09.147

Reputation: 574

3

It depends on the format of your cells and your functional requirements. With a leading "0" they could be formatted as text.

Then you could use IF function to compare cells in Excel:

=IF ( logical_test, value_if_true, value_if_false )

Example:

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

If they are formatted as numbers, you could subtract the first column from the other in order to get the difference:

=A1-A2

Matt Handy

Posted 2011-05-27T07:10:09.147

Reputation: 131

2

This formula will directly compare two cells. If they are the same, it will print True, if one difference exists, it will print False. This formula will not print what the differences are.

=IF(A1=B1,"True","False")

Alex

Posted 2011-05-27T07:10:09.147

Reputation: 39

1

I'm using Excel 2010 and just highlight the two columns that have the two sets of values I'm comparing, and then click the Conditional formatting dropdown on the home page of Excel, choose the Highlight Cells rules, and then differences. It then prompts to highlight either differences or similarities and asks what colour highlight you want to use...

Peter McGuire

Posted 2011-05-27T07:10:09.147

Reputation: 11

0

The comparing can be done with Excel VBA code. The compare process can be made with the Excel VBA Worksheet.Countif function.

Two columns on different worksheets were compared in this template. It found different results as an entire row was copied to the second worksheet.

Code:

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
...

The tutorial's video: https://www.youtube.com/watch?v=Vt4_hEPsKt8

Example file can be downloaded here

kadrleyn

Posted 2011-05-27T07:10:09.147

Reputation: 1

1If you are going to link to your blog and your YouTube channel you must disclose your affiliation. If you don't you may be accused of spamming. – DavidPostill – 2016-09-05T17:34:07.113

0

This is using another tool but I've just found this very easy to do. Using Notepad++:

In Excel make sure your 2 columns are sorted in the same order, then copy and paste your columns into 2 new text files and then run a compare (from plugins menu).

Etienne

Posted 2011-05-27T07:10:09.147

Reputation: 139

0

The NOT MATCH function combination works well. The following works too:

=IF(ISERROR(VLOOKUP(<<item in larger list>>,<<smaler list>>,1,FALSE)),<<item in larger list>>,"")

REMEMBER: the smaller list MUST be SORTED ASCENDING - a requirement of vlookup

Moibi Kerandi

Posted 2011-05-27T07:10:09.147

Reputation: 1