SUMIFS using Column and Row Criteria

I am attaching a spreadsheet that is tracking the affects of a cost reduction plan that has been put into place.  I shows the actual cost by site and the average cost and date the cost reduction plan was implemented by site.  I have it working using specific cells however I am talking about a number of spreadsheets that have anywhere from 2 sites to 30 and I was hoping to find a formula that would easier to maintain.  Any help with what I am doing wrong with my SUMIFS formula I would appreciate.
Cost-Reduction.xlsx
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Commented:
In B31, enter this formula...

=IF(\$A31>VLOOKUP(B\$30,\$A\$17:\$B\$21,2,FALSE),VLOOKUP(B\$30,\$A\$17:\$C\$21,3,FALSE)-INDEX(\$A\$1:\$E\$14,MATCH(\$A31,\$A\$1:\$A\$14,0),MATCH(B\$30,\$A\$1:\$E\$1,0)),0)

Copy that down and across to B31:E43
0

Experts Exchange Solution brought to you by ConnectWise

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Commented:
SUMIFS requires all ranges to be the same size so the SUMIFS that references the top table will always return an error.

I'm not sure if your real data will be the same but in your example shown here all of the functions are picking up single values so it might be more appropriate to use VLOOKUP type formulas to do that, e.g. in B31 copied across and down this formula will give you the same result as shown in your results table

=IF(\$A31>VLOOKUP(B\$30,\$A\$18:\$B\$21,2,0),VLOOKUP(B\$30,\$A\$18:\$C\$21,3,0)-INDEX(\$B\$2:\$E\$14,MATCH(\$A31,\$A\$2:\$A\$14,0),MATCH(B\$30,\$B\$1:\$E\$1,0)),0)

Note: if sites or dates are in the same order in the result table as the data you may be able to simplify that

regards, barry

Edit: I see Patrick beat me to it.......Snap!
0

Commented:

=IF(SUMIFS(\$C\$18:\$C\$21,\$A\$18:\$A\$21,B\$30,\$B\$18:\$B\$21,"<"&\$A31)=0,0,IFERROR(SUMIFS(\$C\$18:\$C\$21,\$A\$18:\$A\$21,B\$30,\$B\$18:\$B\$21,"<"&\$A31)-SUMIFS(INDEX(\$B\$2:\$E\$14,0,MATCH(B\$30,\$B\$1:\$E\$1,0)),\$A\$2:\$A\$14,\$A31),0))

copied down and across.
0

Author Commented:
Thank you very much and you were a winner by a few minutes, but the formula worked perfectly.
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.