Comparing columns in Excel is something that we all do once in a while. Microsoft Excel offers a number of options to compare and match data, but most of them focus on searching in one column. In this tutorial, we will explore several techniques to compare two columns in Excel and find matches and differences between them.
How to compare 2 columns in Excel row-by-row
When you do data analysis in Excel, one of the most frequent tasks is comparing data in each individual row. This task can be done by using the IF function, as demonstrated in the following examples.
Example 1. Compare two columns for matches or differences in the same row
To compare two columns in Excel row-by-row, write a usual IF formula that compares the first two cells. Enter the formula in some other column in the same row, and then copy it down to other cells by dragging the fill handle (a small square in the bottom-right corner of the selected cell). As you do this, the cursor changes to the plus sign:
To find cells within the same row having the same content, A2 and B2 in this example, the formula is as follows: To find cells in the same row with different values, simply replace the equals sign with the non-equality sign (<>): And of course, nothing prevents you from finding both matches and differences with a single formula: Or The result may look similar to this:
As you see, the formula handles numbers, dates, times and text strings equally well. Tip. You can also compare two columns row-by-row using Excel Advanced Filter. Here is an example showing how to filter matches and differences between 2 columns.Formula for matches
=IF(A2=B2,"Match","")
Formula for differences
=IF(A2<>B2,"No match","")
Matches and differences
=IF(A2=B2,"Match","No match")
=IF(A2<>B2,"No match","Match")
Example 2. Compare two lists for case-sensitive matches in the same row
As you have probably noticed, the formulas from the previous example ignore case when comparing text values, as in row 10 in the screenshot above. If you want to find case-sensitive matches between 2 columns in each row, then use the EXACT function:
=IF(EXACT(A2, B2), "Match", "")
To find case-sensitive differences in the same row, enter the corresponding text ("Unique" in this example) in the 3rd argument of the IF function, e.g.:
=IF(EXACT(A2, B2), "Match", "Unique")
Compare multiple columns for matches in the same row
In your Excel worksheets, multiple columns can be compared based on the following criteria:
- Find rows with the same values in all columns (Example 1)
- Find rows with the same values in any 2 columns (Example 2)
Example 1. Find matches in all cells within the same row
If your table has three or more columns and you want to find rows that have the same values in all cells, an IF formula with an AND statement will work a treat:
=IF(AND(A2=B2, A2=C2), "Full match", "")
If your table has a lot of columns, a more elegant solution would be using the COUNTIF function:
=IF(COUNTIF($A2:$E2, $A2)=5, "Full match", "")
Where 5 is the number of columns you are comparing.
Example 2. Find matches in any two cells in the same row
If you are looking for a way to compare columns for any two or more cells with the same values within the same row, use an IF formula with an OR statement:
=IF(OR(A2=B2, B2=C2, A2=C2), "Match", "")
In case there are many columns to compare, your OR statement may grow too big in size. In this case, a better solution would be adding up several COUNTIF functions. The first COUNTIF counts how many columns have the same value as in the 1st column, the second COUNTIF counts how many of the remaining columns are equal to the 2nd column, and so on. If the count is 0, the formula returns "Unique", "Match" otherwise. For example:
=IF(COUNTIF(B2:D2,A2)+COUNTIF(C2:D2,B2)+(C2=D2)=0,"Unique","Match")
How to compare two columns in Excel for matches and differences
Suppose you have 2 lists of data in Excel, and you want to find all values (numbers, dates or text strings) which are in column A but not in column B.
For this, you can embed the COUNTIF($B:$B, $A2)=0 function in IF's logical test and check if it returns zero (no match is found) or any other number (at least 1 match is found).
For instance, the following IF/COUNTIF formula searches across the entire column B for the value in cell A2. If no match is found, the formula returns "No match in B", an empty string otherwise:
=IF(COUNTIF($B:$B, $A2)=0, "No match in B", "")
Tip. If your table has a fixed number of rows, you can specify a certain range (e.g. $B2:$B10) rather than the entire column ($B:$B) for the formula to work faster on large data sets.
The same result can be achieved by using an IF formula with the embedded ISERROR and MATCH functions:
=IF(ISERROR(MATCH($A2,$B$2:$B$10,0)),"No match in B","")
Or, by using the following array formula (remember to press Ctrl + Shift + Enter to enter it correctly):
=IF(SUM(--($B$2:$B$10=$A2))=0, " No match in B", "")
If you want a single formula to identify both matches (duplicates) and differences (unique values), put some text for matches in the empty double quotes ("") in any of the above formulas. For example:
=IF(COUNTIF($B:$B, $A2)=0, "No match in B", "Match in B")
How to compare two lists in Excel and pull matches
Sometimes you may need not only match two columns in two different tables, but also pull matching entries from the lookup table. Microsoft Excel provides a special function for this - the VLOOKUP function. As an alternative, you can use a more powerful and versatile INDEX MATCH formula. The users of Excel 2021 and Excel 365, can accomplish the task with the XLOOKUP function.
For example, the following formulas compare the product names in columns D against the names in column A and pull a corresponding sales figure from column B if a match is found, otherwise the #N/A error is returned.
=VLOOKUP(D2, $A$2:$B$6, 2, FALSE)
=INDEX($B$2:$B$6, MATCH($D2, $A$2:$A$6, 0))
=XLOOKUP(D2, $A$2:$A$6, $B$2:$B$6)
For more information, please see How to compare two columns using VLOOKUP.
If you don't feel very comfortable with formulas, you can have the job done using a fast and intuitive solution - Merge Tables Wizard.
Compare two lists and highlight matches and differences
When you compare columns in Excel, you may want to "visualize" the items that are present in one column but missing in the other. You can shade such cells in any color of your choosing by using the Excel Conditional Formatting feature and the following examples demonstrate the detailed steps.
Example 1. Highlight matches and differences in each row
To compare two columns and Excel and highlight cells in column A that have identical entries in column B in the same row, do the following:
- Select the cells you want to highlight (you can select cells within one column or in several columns if you want to color entire rows).
- Click Conditional formatting > New Rule… > Use a formula to determine which cells to format.
- Create a rule with a simple formula like
=$B2=$A2
(assuming that row 2 is the first row with data, not including the column header). Please double check that you use a relative row reference (without the $ sign) like in the formula above.
To highlight differences between column A and B, create a rule with this formula:
=$B2<>$A2
If you are new to Excel conditional formatting, please see How to create a formula-based conditional formatting rule for step-by-step instructions.
Example 2. Highlight unique entries in each list
Whenever you are comparing two lists in Excel, there are 3 item types that you can highlight:
- Items that are only in the 1st list (unique)
- Items that are only in the 2nd list (unique)
- Items that are in both lists (duplicates) - demonstrated in the next example.
This example demonstrates how to color the items that are only in one list.
Supposing your List 1 is in column A (A2:A6) and List 2 in column C (C2:C5). You create the conditional formatting rules with the following formulas:
Highlight unique values in List 1 (column A):
=COUNTIF($C$2:$C$5, $A2)=0
Highlight unique values in List 2 (column C):
=COUNTIF($A$2:$A$6, $C2)=0
And get the following result:
Example 3. Highlight matches (duplicates) between 2 columns
If you closely followed the previous example, you won't have difficulties adjusting the COUNTIF formulas so that they find the matches rather than differences. All you have to do is to set the count greater than zero:
Highlight matches in List 1 (column A):
=COUNTIF($C$2:$C$5, $A2)>0
Highlight matches in List 2 (column C):
=COUNTIF($A$2:$A$6, $C2)>0
Highlight row differences and matches in multiple columns
When comparing values in several columns row-by-row, the quickest way to highlight matches is creating a conditional formatting rule, and the fastest way to shade differences is embracing the Go To Special feature, as demonstrated in the following examples.
Example 1. Compare multiple columns and highlight row matches
To highlight rows that have identical values in all columns, create a conditional formatting rule based on one of the following formulas:
=AND($A2=$B2, $A2=$C2)
or
=COUNTIF($A2:$C2, $A2)=3
Where A2, B2 and C2 are the top-most cells and 3 is the number of columns to compare.
Of course, neither AND nor COUNTIF formula is limited to comparing only 3 columns, you can use similar formulas to highlight rows with the same values in 4, 5, 6 or more columns.
Example 2. Compare multiple columns and highlight row differences
To quickly highlight cells with different values in each individual row, you can use Excel's Go To Special feature.
- Select the range of cells you want to compare. In this example, I've selected cells A2 to C8.
By default, the top-most cell of the selected range is the active cell, and the cells from the other selected columns in the same row will be compared to that cell. As you can see in the screenshot above, the active cell is white while all other cells of the selected range are highlighted. In this example, the active cell is A2, so the comparison column is column A.
To change the comparison column, use either the Tab key to navigate through selected cells from left to right, or the Enter key to move from top to bottom.
Tip. To select non-adjacent columns, select the first column, press and hold Ctrl, and then select the other columns. The active cell will be in the last column (or in the last block of adjacent columns). To change the comparison column, use the Tab or Enter key as described above.
- On the Home tab, go to Editing group, and click Find & Select > Go To Special… Then select Row differences and click the OK button.
- The cells whose values are different from the comparison cell in each row are colored. If you want to shade the highlighted cells in some color, simply click the Fill Color icon on the ribbon and select the color of your choosing.
How to compare two cells in Excel
In fact, comparing 2 cells is a particular case of comparing two columns in Excel row-by-row except that you don't have to copy the formulas down to other cells in the column.
For example, to compare cells A1 and C1, you can use the following formulas.
For matches:
=IF(A1=C1, "Match", "")
For differences:
=IF(A1<>C1, "Difference", "")
To learn a few other ways to compare cells in Excel, please see:
Formula-free way to compare two columns / lists in Excel
Now that you know Excel's offerings for comparing and matching columns, let me show you our own solution for this task. This tool is named Compare Two Tables and it is included in our Ultimate Suite.
The add-in can compare two tables or lists by any number of columns and both identify matches/differences (as we did with formulas) and highlight them (as we did with conditional formatting).
For the purpose of this article, we'll be comparing the following 2 lists to find common values that are present in both.
To compare two lists, here are the steps you need to follow:
- Start with clicking the Compare Tables button on the Ablebits Data tab.
- Select the first column/list and click Next. In terms of the add-in, this is your Table 1.
- Select the second column/list and click Next. In terms of the add-in, it is your Table 2, and it can reside in the same or different worksheet or even in another workbook.
- Choose what kind of data to look for:
- Duplicate values (matches) - the items that exist in both lists.
- Unique values (differences) - the items that are present in list 1, but not in list 2.
Since our aim is to find matches, we select the first option and click Next.
- This is the key step where you select the columns for comparison. In our case, the choice is obvious as we are only comparing 2 columns: 2000 Winners against 2021 Winners. In bigger tables, you can select several column pairs to compare by.
- In the final step, you choose how to deal with the found items and click Finish.
A few different options are available here. For our purposes, these two are most useful:
- Highlight with color - shades matches or differences in the selected color (like Excel conditional formatting does).
- Identify in the Status column - inserts the Status column with the "Duplicate" or "Unique" labels (like IF formulas do).
For this example, I've decided to highlight duplicates in the following color:
And in a moment, got the following result:
With the Status column, the result would look as follows:
Tip. If the lists you are comparing are in different worksheets or workbooks, it might be helpful to view Excel sheets side by side.
This is how you compare columns in Excel for matches (duplicates) and differences (unique values). If you are interested to try this tool, you are welcome to download an evaluation version using the below link.
I thank you for reading and encourage you to check out other helpful tutorials that we have :)
Available downloads
Compare Excel Lists - examples (.xlsx file)
Ultimate Suite - trial version (.exe file)
550 comments
I have two sheets. The first has two columns A has company names and B has the product they purchase. some companies are listed several times because they purchase various products. In Sheet two I have Company names (listed once) in column A starting in row 2 and the across row 1 I have the unique products. I would like to have the unique companies and all of the products they purchase in one row. example (Sheet 2 A2=company Name, all products that the company buys (listed in row 1) are then marked with an X across row 2) Any guidance will be greatly appreciated.
Hello!
If I understand your task correctly, the following formula should work for you:
=IF(ISNUMBER(MATCH($A$2&B1,Sheet1!A1:A100&Sheet1!B1:B100,0)),"X","")
You can learn more about MATCH function in Excel in this article on our blog.
I have two lengthy columns of data strings. I want to compare them and either put 0 for match or 1 for not match, then count how many not match.
01Blue 01green
02yellow 02yellow
03orange 03red
So I would want it to show
# of differences
01 1
02 0
03 1
Hi!
Please re-check the article above since it covers your task.
Hi,
I wish to return a value of TRUE if all values in a series of Columns are present in another reference column.
i.e.
Reference Column
A1
A2
A3
A4
A5
Column Checked1
A1
A5
A3
Return TRUE
Column Checked2
A1
B1
A3
Return FALSE
Hello!
To compare two ranges, use the MATCH function.
=SUM(--ISERROR(MATCH(B1:B3,A1:A5,0)))=0
I hope my advice will help you solve your task.
I'm trying to compare two columns cell by cell or row by row to find values that are much higher or much lower than the estimated value in one column is there a simple way to do this?
I not only want to know that there is a difference but how much the difference is can this be done with a formula also the values are labeled either E or G in a separate column is there a way to differentiate by these within the formula like IF "G" or something like that?
Hello!
If I understand correctly, you can calculate the percentage change in the second column number from the first.
I'm trying to compare two columns cell by cell or row by row to find values that are much higher or much lower than the estimated value in one column is there a simple way to do this?
Hello!
Have you tried the ways described in this blog post? If they don’t work for you, then please describe why. I’ll try to suggest a solution.
Hello sir,
I want to find this comparing two columns: If the email same in one column for two rows, the eligibility should be the same at another column. is there any formula finds the different ones (different eligibilities)? Thank you in advance
Hello!
Have you tried the ways described in this blog post? If they don’t work for you, then please describe your task in detail, I’ll try to suggest a solution.
Hi sir
master data "header in column A"
FAN 250v
HOUSING SS
present data "header in column B"
FAN, 25V
HOUSING carbon steel
I want to capture missing values and extra valves using "IF" function formula
ex: first column missing value is 250V and extra value is 24V
missing values to be extracted onto column C and extra values to be extracted column D
Hi!
Based on your description, it is hard to completely understand your task. However, I’ll try to guess and offer you the SUBSTITUTE formula:
=SUBSTITUTE(A1,C1,D1)
Hi Sir,
I want to compare data in column B1 to data in column A1 and what ever the missing part of data in column B1, i want it be entered in new column C1 and any extra data in column B1 compared to A1 i want it to be in new column D1
A1 master data
B1 worked data
C1 missing data
D1extra data
for ex: columnA1 columnB1 column C1 column D1
Fan 250V Fan 50V, 50 HZ 250V 50V,50HZ
Here as shown above "Fan 250V" is master data and " Fan 50V, 50 HZ " is worked data, when we compare B1 with A1, 250V is missing in B1 so i want it to be entered in C1 as 250V and 50V, 50HZ is extra data in B1 compared to A1 so i want it to be entered in D1
Hi sir,
please consider this format
input
A1 master data: Fan 250V
B1 worked data: Fan 50V, 50 HZ
output
C1 missing data: 250V
D1 extra data: 50V,50HZ
i want result like that output.....
Hi!
I'm really sorry, looks like this is not possible with the standard Excel options. The problem can be solved using a VBA macro.
Hi
I have data like this:
Foreign Name Mobile Phone Telephone 2 Telephone 1
38822 9873225232 9811991232 9811597655
38823 9871955755
38824 9818380011
38825 9810086774
38825 9987022284 8800596095 9810086774
38826 9811090878
38827 9312227934 9811126121 9811126121
38828 9312664028
38829 9811256883
38829 9811550006
Can you please help me to find all unique contacts from different columns for same Foreign Name.
Note there are duplicates Foreign Name as well as duplicate contact numbers in a sheet.
Waiting for the positive response....
Hello!
If you want to find unique numbers in several columns, I think this comment on our blog will help you.
Hi Sir,
I need your help, i want a formula of column A & B which match in cross pattern, eg- A2 moon has B2 Mercury & A4 Mercury has B4 Moon its Match,
below i have shown the condition. its like X pattern .
A B C
SUN JUPITER
MOON MERCURY match
MARS SUN
MERCURY MOON match
JUPITER VENUS
VENUS MARS
SATURN SATURN
Thanks
Hi!
Concatenate the values and use the two-column lookup using the MATCH function.
=IF(ISNUMBER(MATCH(B1&A1,$A$1:$A$7&$B$1:$B$7,0)),"match","")
I hope this will help.
I need a formula that will compare numbers in Column B on sheet 1 to numbers in column A in sheet 2 and if it finds a match return a value from column AD from sheet 2 to column A on sheet 1.
Hello!
The answer to your question can be found in this article: How to VLOOKUP across multiple sheets in Excel with examples.
Dear experts,
I am looking for a formula to match two column values.
Col 1 have 300,000 rows (contains numbers only)
Col 2 have 220,000 rows (contains numbers only)
I would like to compare first 800 column values with col2 (all the cell values) and print the matching values.
Repeat the same for every 800 values(second one starts from 801 to 1600) in col1 and compare with all the col 2 values and display the matching values.
Can we do this in one formula for every 800 values increments ?
Expected Results:
--------------------------
Matching values for first 800 values : List all the matching values
(increments of 800 every time)
Matching values for 801-1600 values : List all the matching values
please advise. Thanks in advance.
Cheers,
Jane
Hello!
To get a list of duplicates from two columns try this formula -
=TEXTJOIN(", ",TRUE,UNIQUE(IFERROR(INDEX(A1:A800,IFERROR(MATCH(B1:B800,A1:A800,0),"")),"")))
To concatenate all values into a string, use the TEXTJOIN function.
Hello there!
I have a sheet which contains code and product type as shown below.
Code P.T.
1.01 BCF
1.01 BCF
2.05 BCD
2.03 BCF
2.03 BCD
I want to check which individual code have two or more similar product types or set of some specific product types, how can I do that. Also, Thanks in Advance.
Hello!
Try to use the recommendations described in this guide: How to find duplicate rows in Excel.
I hope it’ll be helpful.
I have 30 days sheet. I just want to confirm if the same Name is repeated under the same cell like in J2. Is there any shortcut or formula to do the same?
I tried this but not working
='1'!J1='2'!J1='3'!J1='4'!J1='5'!J1='6'!J1='7'!J1='8'!J1='9'!J1='10'!J1='11'!J1='12'!J1='13'!J1='14'!J1='15'!J1='16'!J1='17'!J1='18'!J1='19'!J1='20'!J1='21'!J1='22'!J1='23'!J1='24'!J1='25'!J1='26'!J1='27'!J1='28'!J1='29'!J1='30'!J1='31'!J1
It's working with this.
=IF(AND('1'!J1='2'!J1,'3'!J1='4'!J1,'5'!J1='6'!J1,'7'!J1='8'!J1,'9'!J1='10'!J1,'11'!J1='12'!J1,'13'!J1='14'!J1,'15'!J1='16'!J1,'17'!J1='18'!J1,'19'!J1='20'!J1,'21'!J1='22'!J1,'23'!J1='24'!J1,'25'!J1='26'!J1,'27'!J1='28'!J1,'29'!J1='30'!J1,'30'!J1='31'!J1),"Match", "")
In my excel sheet, Column A is having names, Column B is having a Country name, Column C is having phone numbers, Column D is having a subject list and Column E is having status (Active or Inactive). How
Can I create data with name, country, and status?
I have to display the active students' names while I select the country.
eg. If I select 'India', active students in India have to be displayed.
Hello!
To show part of the data by condition, you can use an Excel filter.
You can also get the filtered data elsewhere in your worksheet using a formula. To do this, use the FILTER function, as described in this guide: Excel FILTER function - dynamic filtering with formulas.
I hope I answered your question. If something is still unclear, please feel free to ask.
Hello,
I need to know if I can compare between two list columns and see the difference ( misses and similarities in between) the issue is that the data is not on the same order between the two columns but they are all the same type of data.
Could you hap please.
Thanks
Sincerely yours.
Hi!
Have you tried the ways described in this blog post? If they don’t work for you, then please describe your task in detail, I’ll try to suggest a solution. Try to use the recommendations described in this article: How to compare two columns in Excel and delete duplicates.
Hello. I need to compare two sets of numerical data (that have multiple equal entries) for differences, ie, if an amount may appear in one column four times, but only three times in the other column, or not at all. I need to see those differences. What would be the quickest way?
Hello!
The fastest way to compare two columns without formulas is to use the Compare Tables tool. You can read about it in the post above. It is included in our Ultimate Suite for Excel. You can download and install it in a trial mode and check how it works for free.
You can also try highlighting duplicates using conditional formatting.
The use of formulas for finding duplicates is described in detail in the article above.
I am trying to use the example under the section 'Compare two lists and highlight matches and differences' (Example 3. Highlight matches (duplicates) between 2 columns). Whilst i can get this to work okay, i was wondering if there was a way where if in list 1 there were 2 cells with the same value which match with a single cell in list 2, if it would be possible to only highlight one of the cells in list 1 rather than both, essentially leaving the other blank as it would not match any remaining numbers.
For Example:
List 1 List 2
10 10
10 20
30 30
In the above example I would want the first 10 in list 1 to match the 10 in list 2, and therefore highlight, leaving the second 10 in list 1 not highlighted. The 20 would not be highlighted of course, and the 30's would be highlighted as there is a straightforward match.
Hopefully you can assist!
Hello!
Here are conditional formatting formulas that will highlight only straightforwards matches in columns A and C.
=COUNTIF($C$2:$C$6, $A2)*(COUNTIF($A$2:A2, $A2) < = COUNTIF($C$2:$C$6, $A2))
=COUNTIF($A$2:$A$6, $C2)*(COUNTIF($C$2:C2, $C2) < = COUNTIF($A$2:$A$6, $C2))
I hope I answered your question.
Hi how do i find out the total combinations of several numbers in a given column will be the numbers mentioned in another column ?
Thanks in advance
Hi!
Your question is not very clear, but you can use the MATCH function to find values in a range.
Hi. I have three columns of numerical data. Start score. Projected score. End Score. I want to highlight the growth or deficiencies between the columns. What would the formula be for something like that?
Hi!
To calculate the increase or decrease in values between columns, use the guidelines in this article: How to subtract in Excel: formula for numbers, percentages, dates and times. I hope it’ll be helpful.
Hi,
I have two excel sheets: base stock values for parts, and how many parts are at a specific location. All parts have an assigned part number. Each sheet has three columns: part number(column a), description (column b), and a numeric value (column c). I need to compare the sheets based on part numbers and return the difference; how many of a part is needed to make base stock. Vlookup got me close, but the main issue is some parts have multiple part numbers and I'm not sure how to account for that. I need the parts with multiple part numbers to be grouped up and only return one value/difference for that group. Hope that makes sense. Have a slight feeling this has to be done in vba.
Thanks for the help
Hello!
To find the sum of a group of parts, you can use the SUMIF function. The formula might look like this:
=SUMIF(Sheet1!A2:A10,Sheet1!D1,Sheet1!C2:C10)-SUMIF(Sheet2!A2:A10,Sheet1!D1,Sheet2!C2:C10)
Sheet1!D1 - part group.
I hope my advice will help you solve your task.