looking up a value only if it returns a value in another list

R

Richard

I have two data tables in Excel 2007.
Table A holds a bill of materials with parent and child parts laid out
suitable for use with vlookup.
Table B holds a selected list of raw materials which are child parts.

I want to lookup a parent part from a cell and search for one of its child
parts in table A if the result of the search matches one of the raw materials
in table B.

I can do simple vlookups but this is outside my knowledge.
Can anyone please point me in the right direction?
Thanks
 
R

Richard

bill of material;
parent child child child
widget1 nylon carton1 tape
widget2 rubber carton2 film

list of acceptable values
nylon
rubber

if the result of looking up a cell with widget1 returns a value which is in
the list of acceptable values, return value, if not return "error"

So the first cell with the formula would be targeted to return an acceptable
value from a list of raw materials such as nylon or rubber say.
Another cell would then have a similar formula but with say an acceptable
value concerning cartons.

Each set of child parts would only ever contain one raw material in the
acceptable value list, never multiples.

The database is extracted using Microsoft Query from a stock control program.
There are about 4500 parent parts and upto a maximum of 8 child parts per
parent.

Thanks, hope this gives you an idea of what I am stuck on.
(Is there a way I can post a spreadsheet example if this explanation is not
clear)
Best regards
 
T

T. Valko

If I understand what you want, try this...

This data in the range A2:D3 -
widget1 nylon carton1 tape
widget2 rubber carton2 film

A10 = parent lookup value = widget1

B10:B11 = list of acceptable values

Enter this formula in C10 and copy down to C11:

=IF(COUNT(MATCH(B10,INDEX(B$2:D$3,MATCH(A$10,A$2:A$3,0),0),0)),B10,"error")
 
R

Richard

Thank you very much for that.
I will try it out and let you know how I get on.
Much appreciated
 
R

Richard

Okay brilliant, thank you.
Tried it out and it makes sense.
Will extend it now to the actual workbook.
Really grateful
 
R

Richard

Hi there, small glitch.
I added another data set to parent and child.
Formula refers to B10 for acceptable value and the acceptable answers are
either nylon or rubber.
I moved acceptable values to A6:A7 and changed formula accordingly.
I F4'd the data ranges as well,

parent child child child
widget1 nylon carton1 tape
widget2 carton2 rubber film
widget3 rubber carton1 tape


nylon
rubber


widget1 =IF(COUNT(MATCH($A$6:$A$7,INDEX($B$2:$D$4,MATCH($A10,$A$2:$A$4,0),0),0)),$A$6:$A$7,"error")

The formula now returns error.
If I apply an array it returns nylon but ignores the other value of rubber
when I add other product codes in A11 which should return rubber.

Would appreciate some more guidance please.

Thanks
Richard
 
R

Richard

Hi there, may we go back to your answer below.
The result of the formula must be either nylon or rubber, B10:B11.
Whichever one it finds in the range B2:D3 for widget1 or widget2.

Your formula only refers to B10 so it only looks for nylon.
When it is copied down it refers to B11 so it only looks for rubber.

Can it look for nylon or rubber (B10:B11) and return whichever one it finds
in the child parts.

Hope this makes sense, I kinda need to post a spreadsheet to make it clearer.

Many thanks

Richard

 
T

T. Valko

Ok, still not sure what you want. See if this does it.
I have two data tables in Excel 2007.

This is specific to Excel 2007.

This data in the range A2:D3 -
widget1 nylon carton1 tape
widget2 rubber carton2 film

A10 = parent lookup value = widget1

B10:B11 = list of acceptable values = nylon, rubber

Array entered** :

=IFERROR(INDEX(B10:B11,MATCH(1,--ISNUMBER(MATCH(B10:B11,INDEX(B2:D3,MATCH(A10,A2:A3,0),0),0)),0)),"error")

** array formulas need to be entered using the key combination of
CTRL,SHIFT,ENTER (not just ENTER). Hold down both the CTRL key and the SHIFT
key then hit ENTER.

The formula will return whichever "child" value it finds first.

For example:
widget1 nylon carton1 tape

In that data sample it would return nylon
widget1 glue carton1 rubber

In that data sample it would return rubber
widget1 glue carton1 tape

In that data sample it would return error
widget1 nylon rubber tape

In that data sample it would return nylon
 
R

Richard

It does definitely do it on my test sheet!
I will try it out now on the database I have.
And I am very grateful for your patience and help.

Later I need to get my head round the zeros in the formula in the match
section
MATCH(A10,A2:A3,0),0),0)),0

Thank you again
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top