?
Solved

SUMIFS using Column and Row Criteria

Posted on 2013-06-10
4
Medium Priority
?
585 Views
Last Modified: 2013-06-10
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
0
Comment
Question by:kscott61
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
4 Comments
 
LVL 93

Accepted Solution

by:
Patrick Matthews earned 2000 total points
ID: 39235677
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
 
LVL 50

Expert Comment

by:barry houdini
ID: 39235688
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
 
LVL 23

Expert Comment

by:NBVC
ID: 39235732
How about?

=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 Closing Comment

by:kscott61
ID: 39236250
Thank you very much and you were a winner by a few minutes, but the formula worked perfectly.
0

Featured Post

Will your db performance match your db growth?

In Percona’s white paper “Performance at Scale: Keeping Your Database on Its Toes,” we take a high-level approach to what you need to think about when planning for database scalability.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Some code to ensure data integrity when using macros within Excel. Also included code that helps secure your data within an Excel workbook.
This article describes a serious pitfall that can happen when deleting shapes using VBA.
The viewer will learn how to create two correlated normally distributed random variables in Excel, use a normal distribution to simulate the return on different levels of investment in each of the two funds over a period of ten years, and, create a …
Excel styles will make formatting consistent and let you apply and change formatting faster. In this tutorial, you'll learn how to use Excel's built-in styles, how to modify styles, and how to create your own. You'll also learn how to use your custo…

770 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question