Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 79
Default Sumproduct Dynamic Range - XL2003

I have a sumproduct formula(s) that is calculating very slowly in my
workbook.

=SUMPRODUCT(((Data!$D$2:$D$10000=$E22)*(Data!$A$2: $A$10000='H-Code SS
Report'!F$21)*(Data!$K$2:$K$10000)))

I'd like to insert a dynamic range to improve performance, but haven't had
any luck. Any suggestions would be greatly appreciated.
  #2   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 269
Default Sumproduct Dynamic Range - XL2003

Rather then try to dynamically do each range in your SUMPRODUCT formula,
utilize dynamically defined range names.

ie SUMPRODUCT(--(range1=2),range2)

Debra Dalgleish's Contextures site has a good section on establishing
dynamic names

http://www.contextures.com/xlNames01.html#Dynamic

One caution, make sure you tie each dynamic name to the same marker to keep
them identical sizes or the SUMPRODUCT will error.
--
If this helps, please remember to click yes.


"Nate" wrote:

I have a sumproduct formula(s) that is calculating very slowly in my
workbook.

=SUMPRODUCT(((Data!$D$2:$D$10000=$E22)*(Data!$A$2: $A$10000='H-Code SS
Report'!F$21)*(Data!$K$2:$K$10000)))

I'd like to insert a dynamic range to improve performance, but haven't had
any luck. Any suggestions would be greatly appreciated.

  #3   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 5,939
Default Sumproduct Dynamic Range - XL2003

That method of creating a dynamic named range uses offset which is volatile.
That means that you are actually adding calculation overhead by doing this.
That will make this even slower... (while that calculation will be faster it
will be calculated much more often)

While I have not tried this it should work. Instead of using offset as your
function try

=(Sheet1!$A$1:INDEX(Sheet1!$A:$A, COUNTA(Sheet1!$A:$A)))

Which uses index which is not volatile. This does create a dynamic named
range. The only question I have is whether named ranges are volatile by
default. perhpas someone else can settle that...
--
HTH...

Jim Thomlinson


"Paul C" wrote:

Rather then try to dynamically do each range in your SUMPRODUCT formula,
utilize dynamically defined range names.

ie SUMPRODUCT(--(range1=2),range2)

Debra Dalgleish's Contextures site has a good section on establishing
dynamic names

http://www.contextures.com/xlNames01.html#Dynamic

One caution, make sure you tie each dynamic name to the same marker to keep
them identical sizes or the SUMPRODUCT will error.
--
If this helps, please remember to click yes.


"Nate" wrote:

I have a sumproduct formula(s) that is calculating very slowly in my
workbook.

=SUMPRODUCT(((Data!$D$2:$D$10000=$E22)*(Data!$A$2: $A$10000='H-Code SS
Report'!F$21)*(Data!$K$2:$K$10000)))

I'd like to insert a dynamic range to improve performance, but haven't had
any luck. Any suggestions would be greatly appreciated.

  #4   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 376
Default Sumproduct Dynamic Range - XL2003

Hi Jim

I agree entirely. I always use INDEX to create Dynamic Ranges.
Debra kindly put a tutorial I wrote about this on her site
http://www.contextures.com/xlNames03.html
--
Regards
Roger Govier

Jim Thomlinson wrote:
That method of creating a dynamic named range uses offset which is volatile.
That means that you are actually adding calculation overhead by doing this.
That will make this even slower... (while that calculation will be faster it
will be calculated much more often)

While I have not tried this it should work. Instead of using offset as your
function try

=(Sheet1!$A$1:INDEX(Sheet1!$A:$A, COUNTA(Sheet1!$A:$A)))

Which uses index which is not volatile. This does create a dynamic named
range. The only question I have is whether named ranges are volatile by
default. perhpas someone else can settle that...

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
Using sumproduct in a dynamic range? [email protected] Excel Discussion (Misc queries) 9 January 1st 08 07:03 PM
Need help please-SUMPRODUCT and Dynamic Range Tasha Excel Worksheet Functions 11 July 18th 07 07:28 PM
Sumproduct Indirect Named Dynamic Range using Offset Frank Hayes Excel Worksheet Functions 6 May 6th 07 06:32 AM
Dynamic Range with unused formula messing up x axis on dynamic graph [email protected] Charts and Charting in Excel 2 February 2nd 06 08:02 PM
Dynamic range names, multiple criteria, sumproduct [email protected] Excel Discussion (Misc queries) 1 September 20th 05 02:58 AM


All times are GMT +1. The time now is 07:28 AM.

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"