Want to win a PS4? Go Premium and enter to win our High-Tech Treats giveaway. Enter to Win

x
?
Solved

excel array formula to create list from another list with wildcard text criteria

Posted on 2013-02-06
3
Medium Priority
?
362 Views
Last Modified: 2013-02-12
I have a row of text values.
Some of these text values end in "95"
I'm trying to build an array formula that will create another list with only those that end in "95.

What I am trying is not working

=INDEX($A$1:$Z$1,0,MATCH("*95",$A$1:$Z$1,0))

any ideas?
0
Comment
Question by:newparadigmz
[X]
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
  • 2
3 Comments
 
LVL 50

Expert Comment

by:barry houdini
ID: 38862084
INDEX/MATCH should work to get the first match (or you can use HLOOKUP with a wildcard too) but you need something more complex to get multiple matches......

If your list is in A1:Z1 then to build another horizontal list of only those values try this formula in A3 confirmed with CTRL+SHIFT+ENTER and copied across

=IFERROR(INDEX($A$1:$Z$1,SMALL(IF(RIGHT($A$1:$Z$1,2)="95",COLUMN($A$1:$Z$1)-COLUMN($A$1)+1),COLUMNS($A3:A3))),"")

If you want a vertical list then replace COLUMNS function at the end with ROWS and drag down like:

=IFERROR(INDEX($A$1:$Z$1,SMALL(IF(RIGHT($A$1:$Z$1,2)="95",COLUMN($A$1:$Z$1)-COLUMN($A$1)+1),ROWS(A$3:A3))),"")

see attached example

regards, barry
multi-lookup.xlsx
0
 

Author Comment

by:newparadigmz
ID: 38865267
Thanks, this works, but is there a way where you dont need to reference the cell the formula is in?

I'd like to be able to put it anywhere and not have to change that reference or use the relative referencing, COLUMNS($A3:A3).

Also, can you explain a little? I don't get why you need small.
0
 
LVL 50

Accepted Solution

by:
barry houdini earned 2000 total points
ID: 38865570
If you want you can use just COLUMN(A1) like

=IFERROR(INDEX($A$1:$Z$1,SMALL(IF(RIGHT($A$1:$Z$1,2)="95",COLUMN($A$1:$Z$1)-COLUMN($A$1)+1),COLUMN(A1))),"")

That should work OK wherever you put it, as long as you are copying across

It doesn't really matter as long as it increments - I use the cell reference of the start cell because it's a little more robust - if you use COLUMN(A1) when starting at E5 that will work but if you now delete column A the A1 reference turns into a #REF! error.

This part of the formula

IF(RIGHT($A$1:$Z$1,2)="95",COLUMN($A$1:$Z$1)-COLUMN($A$1)+1)

returns an array of either FALSE values or the column number of a value ending with 95, i.e. for my example that will return this array

{1,FALSE,FALSE,4,FALSE,FALSE,FALSE,FALSE,9,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE,FALSE}

where 1, 4 and 9 represent the columns where the data ends with 95

and SMALL in conjunction with the COLUMNS function will take the smallest number in the first formula, 2nd smallest in the next, 3rd smallest in the next etc. .....and then INDEX gives you the relevant value from that numbered cell in the range

regards, barry
0

Featured Post

What does it mean to be "Always On"?

Is your cloud always on? With an Always On cloud you won't have to worry about downtime for maintenance or software application code updates, ensuring that your bottom line isn't affected.

Question has a verified solution.

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

In Part II of this series, I will discuss how to identify all open instances of Excel and enumerate the workbooks, spreadsheets, and named ranges within each of those instances.
This article describes how you can use Custom Document Properties to store settings and other information in your workbook so that they will be available the next time you open the workbook.
The viewer will learn how to use a discrete random variable to simulate the return on an investment over a period of years, create a Monte Carlo simulation using the discrete random variable, and create a graph to represent the possible returns over…
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …

610 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