Searching for a value in an Array

G

Guest

I have a master price list were I have in column A the country name, and in
column B the machine model number and in column C the price.
Obviously you can find the same machine for many countries with different
prices, I need a formula were I can extract for a certain country the price
of a certain machine.
 
G

Guest

1 way
E2=SUMPRODUCT((A2:A100="usa")*(B2:B100=1)*(C2:C100))

another: put country in D2 and model number in D3
E2=SUMPRODUCT((A2:A100=D2)*(B2:B100=D3)*(C2:C100))





"Farah" skrev:
 
G

Guest

1 way
E2=SUMPRODUCT((A2:A100="usa")*(B2:B100=1)*(C2:C100))

another: put country in D2 and model number in D3
E2=SUMPRODUCT((A2:A100=D2)*(B2:B100=D3)*(C2:C100))





"Farah" skrev:
 
B

Bob Phillips

=INDEX(C1:C100,MATCH(1,(A1:A100="country")*(B1:B100="machine"),0))

which is an array formula, it should be committed with Ctrl-Shift-Enter, not
just Enter.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
B

Bob Phillips

=INDEX(C1:C100,MATCH(1,(A1:A100="country")*(B1:B100="machine"),0))

which is an array formula, it should be committed with Ctrl-Shift-Enter, not
just Enter.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
G

Guest

Bob,
I'm getting closer and closer to understanding this stuff, but in this
example there is one small piece I haven't got yet,

Your Match() has 3 elements:
1) the 1,
2) the combination of the ranges (Col A and ColB as one parameter)
3) the 0, which is an exact match)

So 1 (in this case) is the lookup value, hummmm.. not sure I'm getting the
meaning here - I take 1 to be the value I'm looking for, confused

Tks in Advance,
Jim
 
G

Guest

Bob,
I'm getting closer and closer to understanding this stuff, but in this
example there is one small piece I haven't got yet,

Your Match() has 3 elements:
1) the 1,
2) the combination of the ranges (Col A and ColB as one parameter)
3) the 0, which is an exact match)

So 1 (in this case) is the lookup value, hummmm.. not sure I'm getting the
meaning here - I take 1 to be the value I'm looking for, confused

Tks in Advance,
Jim
 
B

Bob Phillips

Jim,

This is matching two values against two ranges.

So what it does is compare one value against one range

A1:A100="country"

which returns an array of TRUE/FALSE values aka the SUMPRODUCT tests that we
know and love. Similarly

B1:B100="machine"

returns another array of TRUE/FALSE.

By using the * operator, we coerce them to a single array of 1/0 values. The
MATCH statement is then used to find the first 1 within that array, and that
index number is passed to the INDEX function to find the matching item in
the third range.

This technique does assume only a singleton match, it cannot find multiples,
it will find the first if multiples exist. But that is no different to
VLOOKUP.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
B

Bob Phillips

Jim,

This is matching two values against two ranges.

So what it does is compare one value against one range

A1:A100="country"

which returns an array of TRUE/FALSE values aka the SUMPRODUCT tests that we
know and love. Similarly

B1:B100="machine"

returns another array of TRUE/FALSE.

By using the * operator, we coerce them to a single array of 1/0 values. The
MATCH statement is then used to find the first 1 within that array, and that
index number is passed to the INDEX function to find the matching item in
the third range.

This technique does assume only a singleton match, it cannot find multiples,
it will find the first if multiples exist. But that is no different to
VLOOKUP.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
G

Guest

ah so;
Thanks Bob; So I am looking for (the first) 1 (which is in reality a TRUE);
Great - E-X-P-A-N-D-I-N-G- T-H-E M-I-N-D ,,,,,
 
G

Guest

ah so;
Thanks Bob; So I am looking for (the first) 1 (which is in reality a TRUE);
Great - E-X-P-A-N-D-I-N-G- T-H-E M-I-N-D ,,,,,
 
A

Aladin Akyurek

Probably it's easier to understand a bit faster version...

=INDEX(C1:C100,MATCH(1,IF(A1:A100="country",IF(B1:B100="machine",1)),0))

which still needs to be confirmed with control+shift+enter.
 
A

Aladin Akyurek

Probably it's easier to understand a bit faster version...

=INDEX(C1:C100,MATCH(1,IF(A1:A100="country",IF(B1:B100="machine",1)),0))

which still needs to be confirmed with control+shift+enter.
 
B

Bob Phillips

.... which in reality a pair of TRUEs, which equates to the first row that
matches both conditions.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
B

Bob Phillips

.... which in reality a pair of TRUEs, which equates to the first row that
matches both conditions.

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
G

Guest

Guys,

It is not working, see I can pass you the files if possible just tell me how
as I am new to this whole thing. The point is that I have many machines for
one country and I have many countries, to give you an idea, I have seven
coutries and for each country and I have more than three hundred machines
prices. The system given me a dupm showing in one column the country name and
in another column the machine name and then the price. I need a function that
checks the country in one column and in the other columnn it checks the
machine, if both are OK then it should give me the price which is in another
column.

Regards,
Farah
 
G

Guest

Guys,

It is not working, see I can pass you the files if possible just tell me how
as I am new to this whole thing. The point is that I have many machines for
one country and I have many countries, to give you an idea, I have seven
coutries and for each country and I have more than three hundred machines
prices. The system given me a dupm showing in one column the country name and
in another column the machine name and then the price. I need a function that
checks the country in one column and in the other columnn it checks the
machine, if both are OK then it should give me the price which is in another
column.

Regards,
Farah
 
B

Bob Phillips

Which is exactly what we gave you. Did you try it? what happened when you
did?

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
B

Bob Phillips

Which is exactly what we gave you. Did you try it? what happened when you
did?

--
HTH

Bob Phillips

(replace somewhere in email address with gmail if mailing direct)
 
G

Guest

It gave me an error which is #NUM though I checked it many times. The point
is that in the countries list, the country is repeated many times, and in the
machine model column, the machine is repeated many times, you need to create
a lookup function which will search for the machine and then when it founds
the machine search in another column for the country and then when both the
machine and the country matches your search criteria you need to get the
price from another column, which means basically that you have a two columns
lookup procedure.

Regards,
 

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