speeding up calculation: replacing array formula with database function?
I would say it is a good way to go, but you do have to setup the criteria as
a separate table. But that is good IMO, as you have the criteria clearly
defined, visible and auditable, not embedded in a formula.
Plus, you don't have to worry about ranges, you can use the whole columns,
=DMAX(A:B,"Amt",K1:K2)
One other thing, the master data has to have headings.
--
HTH
Bob
"Amedee Van Gasse" wrote in message
...
Hi,
I could use some advice on optimizing a formula.
I currently have the following array formula in the cells of column D:
{=MAX(IF($A$2:$A$13695=$A13695;$B$2:$B$13695;FALSE ))}
In words: take the highest value of column B for every cell in B where
the value in column A is equal to the current value of A.
Example:
01/04/2010 5937 5937
01/04/2010 5936 5937
07/04/2010 5943 5943
07/04/2010 5942 5943
As we all know, excessive usage of array formulas makes calculation
painfully slow. As you can see I am now at row 13695 and rows keep
getting added.
Can the formula be constructed in another way, for example with
database functions.
I suppose that I could use the DMAX function, but I've been staring at
the third parameter (criterium) and I can't wrap my mind around it.
All documentation seems to suggest that I need a separate table for
the criterium.
If a database function is the wrong way to go, please tell me.
--
Amedee
|