Solved

Find words from a list in text of another column and return matching word if found

Posted on 2013-12-31
4
344 Views
Last Modified: 2013-12-31
Experts,

I have a list of words in a column e.g. names of fruit in A2:A8

Fruits
Oranges
Apples
Pears
Bananas
Kiwi
Cherries
Strawberries

And I have a column of rows of text that may or may not contain one of the words in the list. e.g. Comments in Col. C

Comments
My favorite fruit is apples.
Oranges are a good source of vitamin C.
Ripe pears taste good but so do bananas.
My favorite pet is a dog.


If one of the words in Fruits is found in the text, I want to enter the matching word in a cell in Col B, else leave it blank.

I'll take the first occurrence of a match.

What is a good way to do this?

Thanks in advance!
0
Comment
Question by:bobinorlando
  • 2
  • 2
4 Comments
 
LVL 50

Accepted Solution

by:
barry houdini earned 500 total points
ID: 39748705
Hello bobinorlando,

One way to do that is with this formula in B2 copied down

=IFERROR(LOOKUP(2^15,SEARCH(A$2:A$8,C2),A$2:A$8),"")

It actually matches in reverse order of the fruit in A2:A8 so for the text with "Pears" and "Bananas" it returns "Bananas" because that's lower down the list......is that a problem?

If so you can use this alternative (in Excel 2010 or later versions)

=IFERROR(INDEX(A$2:A$8,AGGREGATE(15,6,(SEARCH(A$2:A$8,C2)>0)*(ROW(A$2:A$8)-ROW(A$2)+1),1)),"")

that will match with the first fruit in the text so will give you "Pears" for the text "Ripe pears taste good but so do bananas"

see examples of both approaches attached

regards, barry
List-lookup.xlsx
0
 
LVL 1

Author Comment

by:bobinorlando
ID: 39749000
I see this works in your example file.
However, I'm having trouble applying it to my actual data (which is not the sample data I provided).

Can you plug some pseudo code into the formula to document what data goes where from my sample? e.g.

=IFERROR(LOOKUP(really big number,SEARCH(wordstofind,CellwithText),wordstofind),"iferrorprintthis")
0
 
LVL 1

Author Comment

by:bobinorlando
ID: 39749016
Never mind. I've got it now. Thanks!
0
 
LVL 50

Expert Comment

by:barry houdini
ID: 39749149
Hello bobinorlando,

Excellent! -yes, this is a perfect generic version

=IFERROR(LOOKUP(really big number,SEARCH(wordstofind,CellwithText),wordstofind),"iferrorprintthis")

regards, barry
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Dealing with unintended Excel Active-X resizing quirks (VBA code simulates "self correction") David Miller (dlmille) Intro Not everyone is a fan of Active-X controls in spreadsheets (as opposed to the UserForm approach, the older Form controls …
This article will guide you to convert a grid from a picture into Excel format using Microsoft OneNote and no other 3rd party application.
The viewer will learn how to create a normally distributed random variable in Excel, use a normal distribution to simulate the return on an investment over a period of years, Create a Monte Carlo simulation using a normal random variable, and calcul…
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

919 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

Need Help in Real-Time?

Connect with top rated Experts

20 Experts available now in Live!

Get 1:1 Help Now