Sumproduct Help!

P

Peter

Hi
Thanks for looking

Below is the formula i'm using and it works just fine.
=SUMPRODUCT(--(YEAR(Serial!$G$2:$G$3222)=$B$1),--(MONTH(Serial!$G$2:$G$3222)=D2)

What i'm trying to do is select the whole column (G) as below
=SUMPRODUCT(--(YEAR(Serial!G:G)=$B$1),--(MONTH(Serial!G:G)=D2)

I just can't get this to work, any ideas

Cheers
Peter (UK)
 
L

Lars-Åke Aspelin

Hi
Thanks for looking

Below is the formula i'm using and it works just fine.
=SUMPRODUCT(--(YEAR(Serial!$G$2:$G$3222)=$B$1),--(MONTH(Serial!$G$2:$G$3222)=D2)

What i'm trying to do is select the whole column (G) as below
=SUMPRODUCT(--(YEAR(Serial!G:G)=$B$1),--(MONTH(Serial!G:G)=D2)

I just can't get this to work, any ideas

Cheers
Peter (UK)

Do you use Excel 2003?
I think you will need Excel 2007 in order to use "whole column
reference".

Also, have a look under "Whole Column and Row References" at this page
http://msdn.microsoft.com/en-us/library/aa730921.aspx

Hope this helps / Lars-Åke
 
O

oldchippy

Peter;270369 said:
Hi
Thanks for looking

Below is the formula i'm using and it works just fine.
=SUMPRODUCT(--(YEAR(Serial!$G$2:$G$3222)=$B$1),--(MONTH(Serial!$G$2:$G$3222)=D2)

What i'm trying to do is select the whole column (G) as below
=SUMPRODUCT(--(YEAR(Serial!G:G)=$B$1),--(MONTH(Serial!G:G)=D2)

I just can't get this to work, any ideas

Cheers
Peter (UK)
Hi,

Unless you have 2007 you can't specify the whole column with
SUMPRODUCT, but you can use G1:G65536
 
P

Peter

oldchippy said:
Hi,

Unless you have 2007 you can't specify the whole column with
SUMPRODUCT, but you can use G1:G65536

Cheers Guys for your replies

I don't fancy upgrading to 2007 just yet, i'll use the G1:G65536 work around

Tanks again

Peter (UK)
 
R

Roger Govier

Hi Peter

Whilst Sumproduct is a very clever formula, it is not as efficient as Sumif,
which only utilises the used range, no matter what range you give it.
Giving almost the whole column, G1:G65535 (you cannot use 65536), will give
you a big performance hit, as Sumproduct carries out it's work on lots of
empty cells.

You will be much better off by creating a Dynamic range for your data, which
will grow (or shrink) as you add more data.

Insert>Name>Define
Name myData
Refers to =$G$1:INDEX($G:$G,COUNTA($G:$G))

=SUMPRODUCT(--(YEAR(myData)=$B$1),--(MONTH(myData)=D2)
 
P

Peter

Cheers Roger

Your right "big performance hit" when i open my sheet, i have to wait while
it recalculates.

I'll try the Dynamic range below as you suggested. I've only used the
"Insert>Name>Define" a couple of times and that was more luck that
judgement.

Thanks

Peter (UK)
 
S

Shane Devenshire

Hi,

Ctrl+F3 is the shortcut key for the Insert, Name, Define command.

Using G1:G65536 is not a workaround for your problem as Rodger was
indicating because Excel will just convert that to G:G and your formula will
fail. And even if you do "trick", mother nature doesn't like tricks... so if
you use INDIRECT("G1:G65536") but Excel will still be unhappy.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top