Using VLOOKUP inside SUMPRODUCT => complex problem

V

vsoler

I have an excel model quite complex with the followinf layout
(drastically simplified):

col A col B col C col D
row 1: a 3 a 0.5
row 2 b 4 b 1
row 3: a 5

I need to calculate, by means of a sumproduct function, the
calculation:

(3*0.5 + 4*1 + 5*0.5) = 1.5 + 4 + 2.5 = 8

I have tried =SUMPRODUCT(B1:B3,VLOOKUP(A1:A3,C1:D2,2,0)) but it does
not work.
I have also tried the above formula using Ctrl-Shift-Enter, with the
same result.

Because my model is really complex, I do not want to use auxiliary
columns for intermediate results.

Is it possible to use SUMPRODUCT the way I need?
 
J

JP Ronse

Hi,

Try

=SUMIF(A1:A3;"a";B1:B3)*SUMIF(C1:C2;"a";D1)+SUMIF(A1:A3;"b";B1:B3)*SUMIF(C1:C2;"b";D1)

Please note that you may have to change ";" in ",".

Wkr,

JP
 
V

vsoler

VLOOKUP doesn't accept a range for the first argument, try using SUMIF,
i.e.

=SUMPRODUCT(B1:B3,SUMIF(C1:C2,A1:A3,D1:D2))

Excellent!

It works perfectly. thank you
 
S

Shane Devenshire

Hi,

The shortest version I came up with uses the idea below:

If you rearrange you lookup table to look like this
a b
0,5 1

Then you can use:

SUMPRODUCT(B1:B3*((A1:A3=C1:D1)*C2:D2))

if you don't want to do that then you can use the longer formula

=SUMPRODUCT(B1:B3*((A1:A3={"a","b"})*{0.5,1}))

which turns out to be exactly as long as using SUMIF.
or the still longer version

=SUMPRODUCT(B1:B3*((A1:A3=TRANSPOSE(C1:C2))*TRANSPOSE(D1:D2)))
 

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