Link to home
Start Free TrialLog in
Avatar of chris pike
chris pikeFlag for Canada

asked on

Need a vlookup that returns sum of values in month cells

Need help with formula

Vlookup name and give me sum of 12 months
User generated image
I can not add columns the vlookup will be on a different sheet
Avatar of Rob Henson
Rob Henson
Flag of United Kingdom of Great Britain and Northern Ireland image

As always, can you upload a sample file to describe what you need.

Think you might be able to use OFFSET, I am assuming you want to add up columns D to O for a name chosen from column A:
Avatar of chris pike


I have  macro that will sort the names in column a
If I add a column to the end it wont follow, it's VBA .
I would just like a simple formula to vlook and add the values
Correct Rob
See attached with formula on sheet1:

Vlook up name from column A the add up values in same row d through o
Alternative using two vlookups:


First vlookup gets Entitled hours from column C
Second vlookup gets balance from column P

Entitled minus sum of D to O equals Balance therefore
Entitled minus Balance equals sum of D to O
Avatar of Norie

You could try INDEX/MATCH to get the range to sum.

Assuming the posted sheet is Sheet1 and on the other sheet you have the names starting in A2.

=SUM(INDEX(Sheet1!$D$4:$O$100, MATCH(A2, Sheet1!$A$4:$A$100, 0),))
Depending on size of file and speed of calculation, may want to use less volatile function of LOOKUP


Whereas VLOOKUP uses the whole data area, LOOKUP only uses the lookup column and the result column(s). This is less volatile in the sense that the VLOOKUP will be forced to recalculate whenever anything in the range A to P changes, whereas LOOKUP will be forced to calculate only when changes occur in columns A, C or P; as it happens changes in P will be as a result of changes in columns C and D to O so probably not that different in calculation time.
OK Rob your formula works, if I am looking up on the same sheet.
I will be looking FROM a different sheet into THIS Sheet
Same workbook , but different sheet
I tried putting the Chart! infront to the lookup
And there will be spaces in column A , will that be a problem??
Can you upload the file with both sheets to demonstrate.
Ok working on stripping it
The formula I posted should work when on another sheet, you only need to change the sheet name 'Sheet1' to reflect the name of the sheet from your original post.
Ok here we go lol
Immediate issue when first looking, the data on Chart has names such as Anita D but Data sheet has Anita Dhanda.
Will these be consistent? Which will it be so we can change to be consistent?
Try this in O2 on the sheet 'Data' and copy down.

=SUM(INDEX(Chart!$D$4:$O$30,MATCH(LEFT([@[Production-0011]],SEARCH(" ",[@[Production-0011]])-1)&MID([@[Production-0011]], SEARCH(" ", [@[Production-0011]]),2), Chart!$A$4:$A$30,0),))

Or, slightly shorter.

=SUM(INDEX(Chart!$D$4:$O$30,MATCH(LEFT([@[Production-0011]],SEARCH(" ",[@[Production-0011]])+1), Chart!$A$4:$A$30,0),))
Norie still trying … no luck so far
Avatar of Norie

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Rob Yours works great
Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thank you for your help.
Thanks Rob for the multiple options to use different codes.
Happy to help, glad we got there in the end.
Is it easy to divide the sum by 8 hours to give a day value??
For the SUM(OFFSET(...)) and SUM(INDEX(...)) formulas Just add /8 on the end of the formula.  For the lookup style formulas you will have to enclose the vlookup-vlookup in brackets before dividing by 8 to get the order of calculation correct, ie (VLOOKUP(...) - VLOOKUP(...))/8