## Return multiple matches with wildcard vlookup

Mr.Excel had a "challenge of the month" June/July 2008 about Wildcard VLOOKUP:

*"The data in column A contains a series of phrases. Every phrase contains one color in the phrase. The goal of the challenge is to use the lookup table in D2:E10 to assign the phrase to one of the names in column E."
Source : http://www.mrexcel.com/pc18.shtml*

The winner created this formula to return last match in the range: =LOOKUP(2^15,SEARCH(D$2:D$10,A2),E$2:E$10) + Enter.

The third winner used circular reference and iterations to return multiple matches.

### How to return multiple matches without circular references

**Array formula in cell C2:**

Recommended article:

**Search for a text string and return multiple adjacent values**

Comments(46) Filed in category: Excel, Search and return multiple values

Alternative array formula in C2:

**How to create an array formula**

- Select cell C2
- Copy above array formula
- Paste to formula bar
- Press and hold Ctrl + Shift
- Press Enter once
- Release all keys

Copy cell C2 and paste it right as far as needed. Then copy cells and paste down as far as needed.

**How to copy array formula**

- Select cell C2
- Copy (Ctrl + c)
- Select cell D2
- Paste (Ctrl + v)

### Explaining array formula in cell C2

**Step 1 - Find text string**

COUNTIF($A2,"*"&$F$2:$F$12&"*")

becomes

COUNTIF("the ocean is blue",{"*blue*"; "*red*"; "*yellow*"; "*pink*"; "*orange*"; "*brown*"; "*white*"; "*lavendar*"; "*magenta*"; "*ocean*"; "*shirt*"})

and returns {1; 0; 0; 0; 0; 0; 0; 0; 0; 1; 0}

**Step 2 - Convert array to row numbers**

IF(COUNTIF($A2,"*"&$F$2:$F$12&"*"), ROW($F$1:$F$11), "")

becomes

IF({1; 0; 0; 0; 0; 0; 0; 0; 0; 1; 0}, {1; 2; 3; 4; 5; 6; 7; 8; 9; 10; 11}, "")

and returns {1; ""; ""; ""; ""; ""; ""; ""; ""; 10; ""}

**Step 3 - Return the k-th smallest row number in this data set**

SMALL(IF(COUNTIF($A2,"*"&$F$2:$F$12&"*"), ROW($F$1:$F$11), ""), COLUMN(A1))

becomes

SMALL({1; ""; ""; ""; ""; ""; ""; ""; ""; 10; ""},1)

and returns 1.

**Step 4 ****- Return a value or reference of the cell at the intersection of a particular row and column**

=INDEX($G$2:$G$12, SMALL(IF(COUNTIF($A2,"*"&$F$2:$F$12&"*"), ROW($F$1:$F$11), ""), COLUMN(A1)))

becomes

=INDEX($G$2:$G$12, 1)

becomes

=INDEX({"Joe"; "Bob"; "Mary"; "Fred"; "Ralph"; "Lora"; "Tracy"; "Earl"; "Jenny"; "John"; "Theresa"}, 1)

and returns "Joe" in cell C2.

### Download excel *.xls file

Copy of challengejune2008.xls

(Excel 97-2003 Workbook *.xls)

### Functions in this article:

**INDEX(**array,row_num,[column_num]**)**

Returns a value or reference of the cell at the intersection of a particular row and column, in a given range

**SMALL(**array,k**)**

Returns the k-th smallest number in this data set.

**COUNTIF(**range,criteria**)**

Counts the number of cells within a range that meet the given condition

**ROW(**reference**)**

Returns the rownumber of a reference

**MIN(**number1,[number2]**)**

Returns the smallest number in a set of values. Ignores logical values and text

**IF(**logical_test,[value_if:true],[value_if_false]**)**

Checks whether a condition is met, and returns one value if TRUE, and another value if FALSE

**ISNUMBER(**value)

Checks whether a value is a number and returns TRUE or FALSE

**SEARCH(**find_text,within_text, [start_num]**)**

Returns the number of the character at which a specific character or text string is first found, reading left to right (not case sensitive)

### Category: Search and return multiple values

Lookup with multiple criteria and display multiple search results using excel formula

Question: How do I search a list containing First name column and a last name column? I want to search […]Comments(47) Filed in category: Excel, Search and return multiple values

Search for a text string and return multiple adjacent values

This article demonstrates array formulas that search for cell values containing a search string and returns corresponding values on the […]Comments(46) Filed in category: Excel, Search and return multiple values

Search for multiple text strings in multiple cells in excel, part 2

Jerome asks, in this blog post Search for multiple text strings in multiple cells in excel : If the list […]Comments(32) Filed in category: Excel, Search and return multiple values

Lookup with multiple criteria and display multiple search results using excel formula, part 4

Question: I second G's question: can this be done for more than 3? i.e. (Instead of last name, middle, first) […]Comments(27) Filed in category: Excel, Search and return multiple values

Search for multiple text strings in multiple cells

Question: How do I search a list for two text strings and return a list with where both strings occurs? […]Comments(17) Filed in category: Excel, Search and return multiple values

### Category: Vlookup

5 easy ways to VLOOKUP and return multiple values

This post explains how to lookup a value and return multiple values. No array formula required.Comments(445) Filed in category: Excel, VLOOKUP and return multiple values

Improve your VLOOKUP formula and return multiple values

Question: How do i return multiple results for one lookup value? I have tried to use multiple vlookups, with no […]Comments(157) Filed in category: Excel, VLOOKUP and return multiple values

Comments(74) Filed in category: Excel, Vlookup

Vlookup – Return multiple unique distinct values

Ahmed Ali asks: How to return multiple values using vlookup in excel and removing duplicates? I have tried the formula […]Comments(45) Filed in category: Excel, Unique distinct values, VLOOKUP and return multiple values

Vlookup with 2 or more lookup criteria and return multiple matches

VLOOKUP and return multiple matches based on many criteria.Comments(38) Filed in category: Excel, VLOOKUP and return multiple values

### 8 Responses to “Return multiple matches with wildcard vlookup”

### Leave a Reply

**How to add a formula to your comment:**

<code>your formula</code>

**How to add VBA code to your comment:**

[vb 1="vbnet" language=","]

VBA code

[/vb]

**How to add a picture to your comment:**

Upload picture to postimage.org

Add picture link to comment.

**Contact Oscar**

You can contact me through this webpage

I have used the winning solution for my cause and it helped me a lot and saved a lot of very valuable time!!!

THANK YOU VERY MUCH for your kind help.

Andrey

LOOKUP(2^15,SEARCH(D$2:D$10,A2),E$2:E$10)

Anyone explain this formula step by step..because i don't understand the function of the formula....

I totally agree with Ahmed.

I ma intrigued by the formula that won. I totally get the "lookup" and the "search" portions of it but I do NOT understand the "2^15". What function is this performing? How does this work? I can't even find anything online that resembles it (other than in its simplest form of "2 to the 15th power").

Can you offer some insight???

Hi,

My table array has wildcards that is of the format "ABCD****" or sometimes "ABCDE***" or sometimes "ABCDEF**". The main sheet contains that data of the format "ABCDEFGH" and needs to fetch an account from another cell in Sheet2(that contains the array).

Kindly help with handling this case.

Thanks,

CK.

CK,

Perhaps you are looking for this post:

Search for a text string and return multiple adjacent values

is this possible? I have multiple terminal IDs and need to convert them into a location. This is just the beginning of the 'if' statement with 2 of the beginning ID numbers. I am using a table.

=IF(A25="@ ATM Deposit 0087*",VLOOKUP("@ ATM Deposit 0087*",$A4:$B18,2,FALSE),IF(A25="@ ATM Deposit 0487*",VLOOKUP("@ ATM Deposit 0487*",$A4:$B18,2,FALSE)))

Hopefully you can help me!! I'm using this formula with no issues: =+IF(C24="","",IFERROR(INDEX('Edited Data'!$P$2:$P$300,SMALL(IF(C24='Edited Data'!$N$2:$N$300,ROW('Edited Data'!$N$2:$N$300)-ROW('Edited Data'!$N$2)+1),COLUMN('Edited Data'!$A$1))),""))

Basically, C24 is a name, and it's looking for that name in N2:N300 on a tab called Edited Data. It works perfectly, but instead of looking for the name, I want it to look for the name as a wild card. 99% of the time it works, but sometimes the name is apart of a string of text and that formula doesn't pick it up. I'm OK with having it done manually if necessary, but if I can have it look for *C24* instead of C24, that would be amazing!!

Hi Oscar,

Tks for the "Return multiple matches with wildcard vlookup in excel" formula " =LOOKUP(2^15,SEARCH(D$2:D$10,A2),E$2:E$10)" whick worked 100% for me. Is it possible to get it to an exact match? eg If I use Brown as the keyword to lookup then it would find brown and brownish, etc?

Tks!