MS Office Forum / Excel / General Excel Questions / March 2008
Sumif with multiple columns in sum_range
|
|
Thread rating:  |
dza7 - 14 Mar 2008 19:10 GMT Hello,
I have a set of data that has a label in column A the sales in column B, C & D:
Column A Column B Column C Joel 500 677 Joel 575 752 Joel 650 827 Claudia 725 902 Tarzan 800 968
I'd like to run SUMIF where the "Range" is column A, the "Criteria" is Joel, and the "Sum_Range" is B:C but when I use SUMIF(A:A,"Joel",B:C) I only get the sum of column B which is 1,725.
Can someone hook me up with a formula that can sum both column B & C in this situation.
Thanks, in advance
Daniel
Ron Coderre - 14 Mar 2008 19:14 GMT Try this approach:
=SUMPRODUCT((A2:A10="Joel")*B2:C10)
Adjust range references to suit your situation.
Is that something you can work with? Post back if you have more questions. --------------------------
Regards,
Ron Microsoft MVP (Excel) (XL2003, Win XP)
> Hello, > [quoted text clipped - 18 lines] > > Daniel dza7 - 14 Mar 2008 19:22 GMT On Mar 14, 11:14 am, "Ron Coderre" <ronREMOVETHIScode...@bigfoot.com> wrote:
> Try this approach: > [quoted text clipped - 34 lines] > > > Daniel Perfect, thank you very much!
Ron Coderre - 14 Mar 2008 19:24 GMT You're very welcome....I'm glad I could help.
Regards,
Ron Microsoft MVP (Excel) (XL2003, Win XP)
> On Mar 14, 11:14 am, "Ron Coderre" <ronREMOVETHIScode...@bigfoot.com> > wrote: [quoted text clipped - 38 lines] > > Perfect, thank you very much! gavin - 14 Mar 2008 21:10 GMT > Try this approach: > > =SUMPRODUCT((A2:A10="Joel")*B2:C10) I can never get my head round the SUMPRODUCT function. Can anyone explain in very simple terms(!!!) what it does :-)
Dave Peterson - 14 Mar 2008 21:34 GMT Bob Phillips explains =sumproduct() in much more detail here: http://www.xldynamic.com/source/xld.SUMPRODUCT.html
> > Try this approach: > > > > =SUMPRODUCT((A2:A10="Joel")*B2:C10) > > I can never get my head round the SUMPRODUCT function. Can anyone explain in > very simple terms(!!!) what it does :-)
 Signature Dave Peterson
David Biddulph - 14 Mar 2008 21:38 GMT For a simple description, type the word SUMPRODUCT into Excel help. For more detail, type the words SUMPRODUCT and Excel into Google. -- David Biddulph
>> Try this approach: >> >> =SUMPRODUCT((A2:A10="Joel")*B2:C10) > > I can never get my head round the SUMPRODUCT function. Can anyone explain > in very simple terms(!!!) what it does :-) Ron Coderre - 14 Mar 2008 21:50 GMT I see that Dave Peterson gave you the xldynamic link, which is very comprehensive.
To augment that a bit, I'll describe the SUMPRODUCT functionality as it applies to formula in this thread.
Let's see if this helps:
SUMPRODUCT was *designed* to multiply two or more same-size ranges of cells and sum the products.
Example (in cells A1:B4): Sale Rate 100 0.10 200 0.15 300 0.20
The commission would be the sum of each Sale x Rate. +(100 x 0.10) +(200 x 0.15) +(300 x 0.20)
In this instance, the total happens to be 100.
The SUMPRODUCT representation of that could be: =SUMPRODUCT(A2:A4,B2:B4)
But SUMPRODUCT has an alternate structure, too: =SUMPRODUCT((A2:A4)*(B2:B4))
(Sometimes the second one works where the first one fails and vice versa)
The function multiplies the A2 x B2 calcs 10.....adds to the total A3 x B3 calcs 30.....adds to the total A4 x B4 calcs 60.....adds to the total Commission = 100 (10+30+60)
********************************* Before continuing...Let's talk a bit about Boolean Values. That's a fancy term for True/False values.
This formula: A1: =(5=5) returns TRUE....5 DOES equal 5
and This formula: A2: =(5=2) returns FALSE....5 does NOT equal 2
As such, TRUE and FALSE...are treated as WORDS by Excel. B1: =A1....returns TRUE and B2: =A2....returns FALSE
BUT...When you apply an arithmetic operator (+, -, *, /) to a Boolean Value Excel converts TRUE to 1 and FALSE to 0.
So... B1: =A1*1.....returns 1, instead of TRUE. B2: =A2*1.....returns 0, instead of FALSE.
Actually, multiplying by any number converts TRUE to 1 and FALSE to 0.
So...this would happen, too: B1: =A1*10.....returns 10. B2: =A2*10.....returns 0.
********************************** We'll exploit that feature in SUMPRODUCT.....
In this formula: =SUMPRODUCT((A2:A10="Joel")*B2:C10)
This expression: (A2:A10="Joel")....returns a series of TRUE/FALSE values depending on whether the cell equals "Joel" or not. and B2:C10 contains NUMBERS! SO.. Each TRUE when multiplied by its associated NUMBER returns that number.
Each FALSE when multiplied by its associated NUMBER returns converts to a zero...0 x number = 0.
SUMPRODUCT returns the sum of all those results which is the sum of all combinations where Col_A="Joel"
Experiment with simple examples until you get comfortable with the way it works.
I hope that helps. Post back if you have more questions. --------------------------
Regards,
Ron Microsoft MVP (Excel) (XL2003, Win XP)
>> Try this approach: >> >> =SUMPRODUCT((A2:A10="Joel")*B2:C10) > > I can never get my head round the SUMPRODUCT function. Can anyone explain > in very simple terms(!!!) what it does :-) gavin - 14 Mar 2008 23:56 GMT >I see that Dave Peterson gave you the xldynamic link, which is very > comprehensive. [quoted text clipped - 101 lines] > Microsoft MVP (Excel) > (XL2003, Win XP) Oh no! I didn't understand a word of that - and I thought I was reasonably intelligent :-(
AFJr - 26 Mar 2008 19:16 GMT Hi Ron,
I wanted to thank you for your GREAT explanation:
>********************************** >We'll exploit that feature in SUMPRODUCT..... [quoted text clipped - 17 lines] >which is the sum of all combinations where >Col_A="Joel" My question is this, I'm using Excel97, does this function work in this version?
My formula =SUMPRODUCT(($B$21:$B$62="C")*$Q$21:$S$62) is not working. I thought I understood exactly what you were saying, maybe not.....
 Signature TIA
AFJr
Ron Coderre - 26 Mar 2008 19:38 GMT Hi, AF Jr
If you're not getting a #NAME! error, then Excel 97 has the SUMPRODUCT function.
There are 2 variations of the structure. If this one doesn't work: =SUMPRODUCT(($B$21:$B$62="C")*$Q$21:$S$62)
Try this one: =SUMPRODUCT(--($B$21:$B$62="C"),$Q$21:$S$62)
Does that help? Post back if you have more questions.
Oh, and thanks for the feedback on the explanation. Much appreciated. --------------------------
Regards,
Ron Microsoft MVP (Excel) (XL2003, Win XP)
> Hi Ron, > [quoted text clipped - 29 lines] > is not working. I thought I understood exactly what you were saying, maybe > not..... AFJr - 26 Mar 2008 20:09 GMT Hi Ron,
Thanks for your quick response.
I'm getting a #VALUE! error.
Sorry for not posting that earlier. I'm getting this error using both structures of the formula. I'm stumped, any ideas?
One more question, the "--" =SUMPRODUCT(--($B$21:$B$62="C"),$Q$21:$S$62) what does that mean? I've tried it with and w/o that, still no luck.
 Signature TIA
AFJr
> Hi, AF Jr > [quoted text clipped - 55 lines] > > is not working. I thought I understood exactly what you were saying, maybe > > not..... Ron Coderre - 26 Mar 2008 20:19 GMT The Double-Unary (--) forces a conversion of TRUE/FALSE values to numbers. --TRUE = 1 --FALSE = 0
so...--{TRUE, TRUE, FALSE}...becomes {1,1,0}
You could also multiply boolean values to the same effect: 1*TRUE = 1 1*FALSE = 0
But, the Dbl-Minus indicates to knowledgable users that a numeric conversion is intended, versus a calculation.
Regarding your #VALUE! error....scan the referenced data and see if there are any errors or irregularities in it.
Does that help? --------------------------
Regards,
Ron Microsoft MVP (Excel) (XL2003, Win XP)
> Hi Ron, > [quoted text clipped - 68 lines] >> > maybe >> > not..... AFJr - 27 Mar 2008 14:02 GMT Hi Ron,
Thanks for sticking with me through this. I've checked the data for errors. I'm not sure if this is a problem or not.
The targeted cells in my formula: =SUMPRODUCT(($B$21:$B$62="C")*$Q$21:$S$62)
B21:B62 are just text selected from a list.
Q21:S62 contain formulas, columns Q & R formula is: =IF($E:$E=0,"",$E:$E*0) {the zero that is multiplied could be a value or zero}
column S is: =IF($E:$E=0,"",(Q22+R22)*0.15) (the data in column "E" is a number that represents a "Qty" multiplier)
So when the SUMPRODUCT function is executed it looks at column B to see if the value ="C" and produces a "1" if it is(True). If it evaluates to "1", columns Q:S formula's are executed and added together. Being that a zero could result in the the formula's in columns Q:S I suspect this is giving me my #VALUE! error. Multiplying any number by zero results in zero but, why would this be a problem? Maybe its the way excel evaluates it. If so, I've got to come up with another way to do this.
Does this make sense to you? Any other suggestions?
 Signature TIA
AFJr
> The Double-Unary (--) forces a conversion of TRUE/FALSE values to numbers. > --TRUE = 1 [quoted text clipped - 93 lines] > >> > maybe > >> > not..... Ron Coderre - 27 Mar 2008 14:17 GMT It's time to try another approach:
Try this ARRAY FORMULA (committed with CTRL+SHIFT+ENTER, instead of ENTER):
=SUM(IF($B$21:$B$62="C",IF(ISNUMBER($Q$21:$S$62),$Q$21:$S$62)))
Does that help? -------------------------
Regards,
Ron Microsoft MVP (Excel) (XL2003, Win XP)
> Hi Ron, > [quoted text clipped - 125 lines] >> >> > maybe >> >> > not..... AFJr - 28 Mar 2008 20:13 GMT Ron,
You are a godsend! Yes that worked beautifully. I was ready to move on and try something else but really had no idea.
Again, I really appreciate you sticking with me, trying different things and such. Helping me to open my mind. I love user groups, a place to give help and get help.
Thanks again Ron,
Have a great weekend!
AFJr
> It's time to try another approach: > [quoted text clipped - 11 lines] > Microsoft MVP (Excel) > (XL2003, Win XP) Ron Coderre - 28 Mar 2008 20:25 GMT You're very welcome.....I'm glad I could help.
Regards,
Ron Microsoft MVP (Excel)
> Ron, > [quoted text clipped - 27 lines] >> Microsoft MVP (Excel) >> (XL2003, Win XP) jarochaox@gmail.com - 14 Mar 2008 19:18 GMT > Hello, > [quoted text clipped - 18 lines] > > Daniel something something
|
|
|