formula question

G

Guest

I have an array of numbers like
100 0.01
200 0.015
300 0.02
400 0.025
500 0.03

say the range name is tab1

and an array of numbers like (call it tab2)
150
250
350
I want to look up the numbers from tab2 in tab1 and multilply it by the 2nd
column from tab1 and add up the result.
So, I want 150*.01+250*.015+350*.02

I tried as an array formula =sum((vlookup(tab2,tab1,2)*tab2)
but this does not work.
What should I be doing?

TIA
 
G

Guest

Say your tab2 info in col. A. In col. B type
vlookup(A1,tab1!$A$1:$B$5,2,TRUE) Note: Use "true" in the vlookup, since
your values in tab1 col. A and tab2 col. A are not exact matches... it will
find the closest match. Then, in col. C on tab2, type in =A1*B1.
 
G

Guest

Thanks, but this is not quite what I was looking for.
I am interested inthe SUM(a1*b1). I do not want the individual terms of the
sum.
I have several thousand lines of data like this, so I would prefer a formula
that gives me the sum without having to use cells to calculate the
constituent terms
(So, in the example, I want the answer '12.25' without having to list the 3
terms of the sum)
 
G

Guest

Well, you are going to have to use a vlookup in some form or another to
obtain the values from the other sheet. But, to get it all in one cell for
you, do this...

=vlookup(A1,tab1!$A$1:$B$5,2,TRUE)*A1 All I added was "*A1" to the end of
the vlookup so, it finds your value, then multiplies it. Since it is not
locked via dollar signs, you can just copy it down the page. Hope this works
for you.
 
R

Ron Rosenfeld

I have an array of numbers like
100 0.01
200 0.015
300 0.02
400 0.025
500 0.03

say the range name is tab1

and an array of numbers like (call it tab2)
150
250
350
I want to look up the numbers from tab2 in tab1 and multilply it by the 2nd
column from tab1 and add up the result.
So, I want 150*.01+250*.015+350*.02

I tried as an array formula =sum((vlookup(tab2,tab1,2)*tab2)
but this does not work.
What should I be doing?

TIA

Using your NAMEing, you could use this formula:

=SUMPRODUCT(tab2,LOOKUP(tab2,INDEX(tab1,,1),INDEX(tab1,,2)))

Note that INDEX(tab1,,1) and INDEX(tab1,,2) merely return the first and second
columns of tab1. So you could replace those terms with references to the
single columns (e.g. A1:A100 and B1:B100).

Also note that if any value in tab2 is less than the minimum value in tab1
col1, the formula will return #NA

HTH,

--ron
 

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