Accumulates carry-forward values
column-by-column or row-by-row, optionally adding a set of constants and factors
times the brought-forward value to the brought-forward value to produce the
next carry-forward value.
The function is designed to allow this type of calculation with dynamic arrays
without the use of circular references/iterative calculation.
This function is based on a suggestion made by Peter Bartholomew.
The ACCUMULATE function
calculates recurrence relationships of the form:
Where a is the AddValues parameter and b is the Factors parameter
ACCUMULATE is a non-volatile multi-threaded array function
ACCUMULATE Syntax
ACCUMULATE( [Range_Array] [,StartValue] [,Factors] [,Closing] )
Range_Array (Optional. Default zero)
A range or array of values to be added to the closing balances.
StartValue (Optional. Default zero)
The initial opening value.
Factors (Optional. Default zero)
A range or array giving the
multiplying factors to be applied to the opening values and the result added to
the closing value.
If only a single factor is given it will be propagated across or down.
The results will be added to the closing balances.
Closing (Optional. Default TRUE)
True returns the closing values of the accumulation, False returns the opening values