#1   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 29
Default "SUMPRODUCTIF"

I find myself asking a lot of questions on these boards lately... Thank you
to all you great people that make the time to help!

I'm trying to multiply values in Columns B and C , like SUMPRODUCT() would
do - the catch is that I only want to multiply pairs where the corresponding
cell in Column A contains the text "YELLOW". For instance, in this case:

PURPLE | 1 | 3
YELLOW | 2 | 6
PURPLE | 3 | 9
YELLOW | 4 | 12
PURPLE | 5 | 15

.... I would want to return [(2*6) + (4*12)] = 60.
  #2   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 2,118
Default "SUMPRODUCTIF"

Try something like this:

=SUMPRODUCT(--(A1:A10="YELLOW"),B1:B10,C1:C10)

Is that something you can work with?
Post back if you have more questions.
--------------------------

Regards,

Ron
Microsoft MVP (Excel)
(XL2003, Win XP)

"PaladinWhite" wrote in message
...
I find myself asking a lot of questions on these boards lately... Thank you
to all you great people that make the time to help!

I'm trying to multiply values in Columns B and C , like SUMPRODUCT() would
do - the catch is that I only want to multiply pairs where the
corresponding
cell in Column A contains the text "YELLOW". For instance, in this case:

PURPLE | 1 | 3
YELLOW | 2 | 6
PURPLE | 3 | 9
YELLOW | 4 | 12
PURPLE | 5 | 15

... I would want to return [(2*6) + (4*12)] = 60.



  #3   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 1,091
Default "SUMPRODUCTIF"

=SUMPRODUCT((A1:A5="yellow")*B1:B5*C1:C5)

Tyro

"PaladinWhite" wrote in message
...
I find myself asking a lot of questions on these boards lately... Thank you
to all you great people that make the time to help!

I'm trying to multiply values in Columns B and C , like SUMPRODUCT() would
do - the catch is that I only want to multiply pairs where the
corresponding
cell in Column A contains the text "YELLOW". For instance, in this case:

PURPLE | 1 | 3
YELLOW | 2 | 6
PURPLE | 3 | 9
YELLOW | 4 | 12
PURPLE | 5 | 15

... I would want to return [(2*6) + (4*12)] = 60.



  #4   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 29
Default "SUMPRODUCTIF"

That seems to be doing exactly what I needed... What do the two minus signs
(--) preceding that argument do? I did a little searching around, and it
looks like they... multiply by 1... thereby doing something with the format?
I'm still lost!

"Ron Coderre" wrote:

Try something like this:

=SUMPRODUCT(--(A1:A10="YELLOW"),B1:B10,C1:C10)

Is that something you can work with?
Post back if you have more questions.
--------------------------

Regards,

Ron
Microsoft MVP (Excel)
(XL2003, Win XP)

"PaladinWhite" wrote in message
...
I find myself asking a lot of questions on these boards lately... Thank you
to all you great people that make the time to help!

I'm trying to multiply values in Columns B and C , like SUMPRODUCT() would
do - the catch is that I only want to multiply pairs where the
corresponding
cell in Column A contains the text "YELLOW". For instance, in this case:

PURPLE | 1 | 3
YELLOW | 2 | 6
PURPLE | 3 | 9
YELLOW | 4 | 12
PURPLE | 5 | 15

... I would want to return [(2*6) + (4*12)] = 60.




  #5   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 2,118
Default "SUMPRODUCTIF"

In this formula
=SUMPRODUCT(--(A1:A10="YELLOW"),B1:B10,C1:C10)

(A1:A10="YELLOW") returns a series of TRUE/FALSE values
which are NOT numeric, so SUMPRODUCT can't use them "as is"

However, in Excel, when TRUE/FALSE values are acted upon by
an arithmetic operator (+, -, *, / ) it converts
TRUE to 1
and
FALSE to 0

We use the Dbl-Minus as an unambiguous way of indicating
that we are forcing a numeric conversion.

It works this way:
TRUE = TRUE
-TRUE = -1
--TRUE = 1

So this series: --(TRUE; FALSE; TRUE; TRUE)
becomes 1; 0; 1; 1

Does that help?
--------------------------

Regards,

Ron
Microsoft MVP (Excel)
(XL2003, Win XP)


"PaladinWhite" wrote in message
...
That seems to be doing exactly what I needed... What do the two minus
signs
(--) preceding that argument do? I did a little searching around, and it
looks like they... multiply by 1... thereby doing something with the
format?
I'm still lost!

"Ron Coderre" wrote:

Try something like this:

=SUMPRODUCT(--(A1:A10="YELLOW"),B1:B10,C1:C10)

Is that something you can work with?
Post back if you have more questions.
--------------------------

Regards,

Ron
Microsoft MVP (Excel)
(XL2003, Win XP)

"PaladinWhite" wrote in message
...
I find myself asking a lot of questions on these boards lately... Thank
you
to all you great people that make the time to help!

I'm trying to multiply values in Columns B and C , like SUMPRODUCT()
would
do - the catch is that I only want to multiply pairs where the
corresponding
cell in Column A contains the text "YELLOW". For instance, in this
case:

PURPLE | 1 | 3
YELLOW | 2 | 6
PURPLE | 3 | 9
YELLOW | 4 | 12
PURPLE | 5 | 15

... I would want to return [(2*6) + (4*12)] = 60.








  #6   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 1,091
Default "SUMPRODUCTIF"

The first "-" coerces Excel to change the logical value of TRUE to its
numeric equivalent of 1. But the "-", makes the TRUE -1. The second "-"
makes the -1
a 1. Simple algebra, -(-1) = 1. As for the logical value FALSE which is 0,
the application of "--" has no meaning since 0 is neither positive or
negative and remains 0
In Excel a 0 is FALSE and all other values are TRUE.

Tyro

"PaladinWhite" wrote in message
...
That seems to be doing exactly what I needed... What do the two minus
signs
(--) preceding that argument do? I did a little searching around, and it
looks like they... multiply by 1... thereby doing something with the
format?
I'm still lost!

"Ron Coderre" wrote:

Try something like this:

=SUMPRODUCT(--(A1:A10="YELLOW"),B1:B10,C1:C10)

Is that something you can work with?
Post back if you have more questions.
--------------------------

Regards,

Ron
Microsoft MVP (Excel)
(XL2003, Win XP)

"PaladinWhite" wrote in message
...
I find myself asking a lot of questions on these boards lately... Thank
you
to all you great people that make the time to help!

I'm trying to multiply values in Columns B and C , like SUMPRODUCT()
would
do - the catch is that I only want to multiply pairs where the
corresponding
cell in Column A contains the text "YELLOW". For instance, in this
case:

PURPLE | 1 | 3
YELLOW | 2 | 6
PURPLE | 3 | 9
YELLOW | 4 | 12
PURPLE | 5 | 15

... I would want to return [(2*6) + (4*12)] = 60.






  #7   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 29
Default "SUMPRODUCTIF"

Hey, that works too! Thanks, Tyro.

"Tyro" wrote:

=SUMPRODUCT((A1:A5="yellow")*B1:B5*C1:C5)

Tyro

"PaladinWhite" wrote in message
...
I find myself asking a lot of questions on these boards lately... Thank you
to all you great people that make the time to help!

I'm trying to multiply values in Columns B and C , like SUMPRODUCT() would
do - the catch is that I only want to multiply pairs where the
corresponding
cell in Column A contains the text "YELLOW". For instance, in this case:

PURPLE | 1 | 3
YELLOW | 2 | 6
PURPLE | 3 | 9
YELLOW | 4 | 12
PURPLE | 5 | 15

... I would want to return [(2*6) + (4*12)] = 60.




  #8   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 1,091
Default "SUMPRODUCTIF"

Simple matter of coersion, "--" or "*" in this case.

Tyro

"PaladinWhite" wrote in message
...
Hey, that works too! Thanks, Tyro.

"Tyro" wrote:

=SUMPRODUCT((A1:A5="yellow")*B1:B5*C1:C5)

Tyro

"PaladinWhite" wrote in message
...
I find myself asking a lot of questions on these boards lately... Thank
you
to all you great people that make the time to help!

I'm trying to multiply values in Columns B and C , like SUMPRODUCT()
would
do - the catch is that I only want to multiply pairs where the
corresponding
cell in Column A contains the text "YELLOW". For instance, in this
case:

PURPLE | 1 | 3
YELLOW | 2 | 6
PURPLE | 3 | 9
YELLOW | 4 | 12
PURPLE | 5 | 15

... I would want to return [(2*6) + (4*12)] = 60.






  #9   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 29
Default "SUMPRODUCTIF"

You've both explained it very well... I see that the -- is simply allowing
the value of the next statement to act as an "eliminator" of sorts so I only
get multiplication through on the rows that I wanted.

I can already think of other places where I can implement that trick. Thanks
again.

"Tyro" wrote:

Simple matter of coersion, "--" or "*" in this case.

Tyro

"PaladinWhite" wrote in message
...
Hey, that works too! Thanks, Tyro.

"Tyro" wrote:

=SUMPRODUCT((A1:A5="yellow")*B1:B5*C1:C5)

Tyro

"PaladinWhite" wrote in message
...
I find myself asking a lot of questions on these boards lately... Thank
you
to all you great people that make the time to help!

I'm trying to multiply values in Columns B and C , like SUMPRODUCT()
would
do - the catch is that I only want to multiply pairs where the
corresponding
cell in Column A contains the text "YELLOW". For instance, in this
case:

PURPLE | 1 | 3
YELLOW | 2 | 6
PURPLE | 3 | 9
YELLOW | 4 | 12
PURPLE | 5 | 15

... I would want to return [(2*6) + (4*12)] = 60.






  #10   Report Post  
Posted to microsoft.public.excel.worksheet.functions
external usenet poster
 
Posts: 10,593
Default "SUMPRODUCTIF"

See http://www.xldynamic.com/source/xld.SUMPRODUCT.html for a detailed
explanation.

--
---
HTH

Bob


(there's no email, no snail mail, but somewhere should be gmail in my addy)



"PaladinWhite" wrote in message
...
You've both explained it very well... I see that the -- is simply allowing
the value of the next statement to act as an "eliminator" of sorts so I
only
get multiplication through on the rows that I wanted.

I can already think of other places where I can implement that trick.
Thanks
again.

"Tyro" wrote:

Simple matter of coersion, "--" or "*" in this case.

Tyro

"PaladinWhite" wrote in message
...
Hey, that works too! Thanks, Tyro.

"Tyro" wrote:

=SUMPRODUCT((A1:A5="yellow")*B1:B5*C1:C5)

Tyro

"PaladinWhite" wrote in
message
...
I find myself asking a lot of questions on these boards lately...
Thank
you
to all you great people that make the time to help!

I'm trying to multiply values in Columns B and C , like SUMPRODUCT()
would
do - the catch is that I only want to multiply pairs where the
corresponding
cell in Column A contains the text "YELLOW". For instance, in this
case:

PURPLE | 1 | 3
YELLOW | 2 | 6
PURPLE | 3 | 9
YELLOW | 4 | 12
PURPLE | 5 | 15

... I would want to return [(2*6) + (4*12)] = 60.








Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
change "true" and "false" to "availble" and "out of stock" inthestands Excel Worksheet Functions 2 July 19th 07 07:05 PM
HELP on "left","right","find","len","substitute" functions serene83 Excel Discussion (Misc queries) 5 June 27th 06 02:23 AM
Count occurences of "1"/"0" (or"TRUE"/"FALSE") in a row w. conditions in the next BCB New Users to Excel 7 May 13th 06 10:02 PM
Complex if test program possible? If "value" "value", paste "value" in another cell? jseabold Excel Discussion (Misc queries) 1 January 30th 06 10:01 PM
Insert "-" in text "1234567890" to have a output like this"123-456-7890" Alwyn Excel Discussion (Misc queries) 3 October 25th 05 11:36 PM


All times are GMT +1. The time now is 11:32 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"