ExcelBanter

ExcelBanter (https://www.excelbanter.com/)
-   Excel Programming (https://www.excelbanter.com/excel-programming/)
-   -   Using Conditional Sums/Averages on Arrays (https://www.excelbanter.com/excel-programming/354136-using-conditional-sums-averages-arrays.html)

ExcelMonkey

Using Conditional Sums/Averages on Arrays
 
I have two arrays that are 3D. Each dimension is populated within Three tier
For Next loop. The first array has data, the second array has dates
associated with its companion element in the first array:

DataArray1(0,0,0) and DateArray2(0,0,0) are related.

I want to Average and or SUM the column data from:
DataArray1(0,0,0) to DataArray1(1000,100,0)
using a conditional logic on the dates in the DateArray

I want to use something similar to the SUMPRODUCT formula using the unitary
operators "--". I am trying to avoid using Pivot Tables if possible.
Perhaps even a function would work.

Any ideas on how I do this?

Thanks

Tom Ogilvy

Using Conditional Sums/Averages on Arrays
 
In VBA, SUMPRODUCT can not be used as an array formula (which is what you
describe). You would need to pass a virtual formula to the evaluate method.
However, it won't work on a 3D array nor will anything slice a 2D array out
of a 3D array as a single command.

That said, looping through the array and building your own result should be
very fast.

--
Regards,
Tom Ogilvy

"ExcelMonkey" wrote in message
...
I have two arrays that are 3D. Each dimension is populated within Three

tier
For Next loop. The first array has data, the second array has dates
associated with its companion element in the first array:

DataArray1(0,0,0) and DateArray2(0,0,0) are related.

I want to Average and or SUM the column data from:
DataArray1(0,0,0) to DataArray1(1000,100,0)
using a conditional logic on the dates in the DateArray

I want to use something similar to the SUMPRODUCT formula using the

unitary
operators "--". I am trying to avoid using Pivot Tables if possible.
Perhaps even a function would work.

Any ideas on how I do this?

Thanks




ExcelMonkey

Using Conditional Sums/Averages on Arrays
 
"You would need to pass a virtual formula to the evaluate method."

If I were to do this, and my data was in a 2D array, what would this look
like? I have seen the Evaluate Method used with formulas relating to cells.
But as my data is in an array could I pursue the Evalutate method?




"Tom Ogilvy" wrote:

In VBA, SUMPRODUCT can not be used as an array formula (which is what you
describe). You would need to pass a virtual formula to the evaluate method.
However, it won't work on a 3D array nor will anything slice a 2D array out
of a 3D array as a single command.

That said, looping through the array and building your own result should be
very fast.

--
Regards,
Tom Ogilvy

"ExcelMonkey" wrote in message
...
I have two arrays that are 3D. Each dimension is populated within Three

tier
For Next loop. The first array has data, the second array has dates
associated with its companion element in the first array:

DataArray1(0,0,0) and DateArray2(0,0,0) are related.

I want to Average and or SUM the column data from:
DataArray1(0,0,0) to DataArray1(1000,100,0)
using a conditional logic on the dates in the DateArray

I want to use something similar to the SUMPRODUCT formula using the

unitary
operators "--". I am trying to avoid using Pivot Tables if possible.
Perhaps even a function would work.

Any ideas on how I do this?

Thanks





Tom Ogilvy

Using Conditional Sums/Averages on Arrays
 
No. Not unless it were very small any you could write the array out as you
would in a formula in a cell. I was really addressing the use of sumproduct
as an array formula in general. Again, looping through an array is
extremely fast.

--
Regards,
Tom Ogilvy


"ExcelMonkey" wrote in message
...
"You would need to pass a virtual formula to the evaluate method."

If I were to do this, and my data was in a 2D array, what would this look
like? I have seen the Evaluate Method used with formulas relating to

cells.
But as my data is in an array could I pursue the Evalutate method?




"Tom Ogilvy" wrote:

In VBA, SUMPRODUCT can not be used as an array formula (which is what

you
describe). You would need to pass a virtual formula to the evaluate

method.
However, it won't work on a 3D array nor will anything slice a 2D array

out
of a 3D array as a single command.

That said, looping through the array and building your own result should

be
very fast.

--
Regards,
Tom Ogilvy

"ExcelMonkey" wrote in message
...
I have two arrays that are 3D. Each dimension is populated within

Three
tier
For Next loop. The first array has data, the second array has dates
associated with its companion element in the first array:

DataArray1(0,0,0) and DateArray2(0,0,0) are related.

I want to Average and or SUM the column data from:
DataArray1(0,0,0) to DataArray1(1000,100,0)
using a conditional logic on the dates in the DateArray

I want to use something similar to the SUMPRODUCT formula using the

unitary
operators "--". I am trying to avoid using Pivot Tables if possible.
Perhaps even a function would work.

Any ideas on how I do this?

Thanks








All times are GMT +1. The time now is 12:22 AM.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
ExcelBanter.com