Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

How to match 2 lists in excel with differences

Posted on 2016-09-23
11
62 Views
Last Modified: 2016-09-29
I am trying to match 2 lists in excel to find unique values. One list has data after the data I am trying to match and I am having an issue trying to add a wildcard "*" to the data. I have tried a conditional formatting approach but the lists are very large over (19000 rows) and excel freezes when I try to filter it.

Any help much appreciated
0
Comment
Question by:Joshua Smailes
11 Comments
 
LVL 19

Expert Comment

by:helpfinder
ID: 41812479
if you want to  comapare original data to new data (so you want to find where is difference) you can use VLOOKUP formula.

Best would be if you can post sample excel file (e.g. with 10 rows of original data and new data) so we can look at the content and suggest best approach
0
 
LVL 33

Expert Comment

by:Rob Henson
ID: 41812635
One list has data after the data I am trying to match and I am having an issue trying to add a wildcard "*" to the data.

I assume you mean you have lists something like:

List 1:    "Original text"
List 2:    "Original text with some more"

Finding the List 1 value in List 2 should be fairly simple:

=VLOOKUP("Original text"&"*",List2,Offset,False)

Going the other way will be more difficult unless there is a common point at which the text changes, eg after the first 15 characters. For something like that:

=VLOOKUP(LEFT("Original text with some more",15),List1,Offset,False)

Thanks
Rob H
0
 
LVL 23

Expert Comment

by:Brian B
ID: 41812648
Instead of a wildcard, you might be able to simplify the problem by adding another column that strips out the extra data for you. So instead of searching for "abc*" in column A, you create another column that only displays LEFT(<column A>, 3) and search that column for just "abc".

The above can be hidden if required. It could also be rolled into a larger vlookup type of formula, but perhaps this make it easier to get a working formula built.
0
Free Tool: SSL Checker

Scans your site and returns information about your SSL implementation and certificate. Helpful for debugging and validating your SSL configuration.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 

Author Comment

by:Joshua Smailes
ID: 41816392
One list has spaces after the data I am trying to match. There can also be data before the data I am trying to match. The data is chassis VIN numbers i.e XLRTGH4300G239385 and I am only trying to match the G239385 as this is the part that will be common in both lists. After the G239385 there is 12 spaces in list 1
0
 
LVL 33

Expert Comment

by:Rob Henson
ID: 41817393
With which value are you trying to do the lookup, the longer or the shorter value?

As I mentioned, finding the shorter value of G239385 in the longer value list is relatively simple:

=VLOOKUP("*"&"G239385"&"*",LongValueList,2,False)   replace the italic with cell reference containing short VIN.

If doing the other way round, looking for the longer value in the shorter value list, if the required text is always the last 7 characters then:

=VLOOKUP(RIGHT("XLRTGH4300G239385",7),ShortValueList,2,False)   replace the italic with cell reference containing long VIN.

If the lookup value has spare spaces use TRIM function to remove. If the list that you are looking at has spare spaces then that is more tricky.
0
 

Author Comment

by:Joshua Smailes
ID: 41821403
This has returned a #REF and I am not sure why
0
 
LVL 33

Expert Comment

by:Rob Henson
ID: 41821424
Which one??

Copy and paste the formula here exactly how you have it and I can see if I can spot the error.
0
 

Author Comment

by:Joshua Smailes
ID: 41821427
=VLOOKUP("*"&B2&"*",$A:$A,2,FALSE)
0
 
LVL 33

Accepted Solution

by:
Rob Henson earned 500 total points
ID: 41821432
Thought so, I was about to put another post on what could be the issue.

Replace with:

=VLOOKUP("*"&B2&"*",$A:$A,1,FALSE)

The lookup is only looking in one column (col A) and the offset was telling it to return results from column 2
1
 

Author Comment

by:Joshua Smailes
ID: 41821443
That's great thanks is there a way I can filter out the blanks or make the N/As returns blanks so I can filter
0
 
LVL 33

Expert Comment

by:Rob Henson
ID: 41821448
=IFERROR(VLOOKUP("*"&B2&"*",$A:$A,1,FALSE),"")
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

INDEX and MATCH can be used to great effect to replace HLOOKUP and VLOOKUP as it does not have the limitation of needing the data to be sorted so that the reference value is in the first column or row. It also has the ability to perform a bi-directi…
This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
This Micro Tutorial will demonstrate in Google Sheets how to use the HYPERLINK function to create live links inside your spreadsheet.
This Micro Tutorial will demonstrate the scrolling table in Microsoft Excel using the INDEX function.

829 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question