Excel. Nested vlookup with offset

Hello Experts,

I am trying to write a formula that will work in Excel 2003 and 2010, It has a vlookup range with an offset.  I am not sure if this is possible to combine these 2 in the same formula - I was hoping to find a work-around since I am using this formula numerous times throughout my workbook.
I prefer it to be a formula and not computed in a vba cell change routine.

Right now the formula that errors out is:

=C20*(vlookup($F$1,INFO!$A$1:$B$60,2(offset,1,1),false))+IF(C20>40,(C20-40)*(vlookup($F$1,INFO!$A$1:$B$60,2(offset,1,1),false)/2),0)

If needed - here are a few tidbits:

F1 is cell that contains the month on that worksheet.  (I have 12 monthly sheets)
Range INFO!A1:B60 is a constant.
   with A1 being January with the remaining months listed down the column with 4 rows of  names listed under each month.
   Column B being the respective payrates of the individuals in the 4 rows.

The formula should find the month then take the payrate which is over 1 column and down 1 row and multiply by the value in C20 and if any hours are greater than 40 then multiply that offset figure.
(C20 is the amount of hours and will be modified for each of the corresponding folks C20, C21, C22, C23 - after I get the formula to work correctly)

Any help would be appreciated,
Thank you,
Michael
mike637Asked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
barry houdiniConnect With a Mentor Commented:
OK, does the formula I suggested give you the rate you want? I'm not sure whether a name has to come into the equation?

If anything over 40 hours is time & half then you could use this formula for total hours (including the extra half time), e.g. 50 in C20 will return 55 (40+10*1.5)

=C20+MAX(C20-40,0)/2

so if my previous formula is correct you can just multiply those, i.e.

=(C20+MAX(C20-40,0)/2)*INDEX(Info!B$2:B$61,MATCH($F$1,Info!A$1:A$60,0))

regards, barry
0
 
barry houdiniCommented:
Hello Michael,

To find a match and go down 1 row and right 1 column you can use INDEX/MATCH, e.g.

=INDEX(Info!B$2:B$61,MATCH($F$1,Info!A$1:A$60,0))

[Note that the first range is "offset" by 1 row and column from the range in the MATCH function]

If F1 matches with A40, for example, that formula will give you the value in B41. You can change the outcome by changing the first range (in the INDEX function) accordingly.

I'm not clear where the +40 hours value comes from, post back if you can't amend the above for that.....

regards, barry
0
 
mike637Author Commented:
Hi Barry,

The 40 is regular pay and anything over 40 is time & half. Hence, my calculation is taking their payrate found in the index and multiplying by the amount of hours in [C20] for straight pay then if the hours > 40, it subtracts 40 and calcs those hours * 1/2 the rate found in the index.

The total value = the gross pay.

I hope this helps to understand what I am computing.

Thanks,
Michael
0
 
mike637Author Commented:
Barry,

Thank you!  It worked perfectly.

You are too damn smart. :)

Michael
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.