Fin Fang Foom said:
Thank You so much Aladdin,
You're welcome.
Did it took awhile to figuer this out?
It takes some time the obvious to pop up.
Can you explain me the functions in the formula that how it works?
In
=SUMPRODUCT(1-SUBTOTAL(3,OFFSET(U4:U23,ROW(U4:U23)-ROW(U4),0,1)),--(U4:U23>0),U4:U23)
Longre's SUBTOTAL idiom assign 1 to all visible cells in the range of interest.
SUBTOTAL ignores cells housing SUBTOTOTAL formulas: They all get 0's.
Thus, given your sample, the first conditional,
1-SUBTOTAL(3,OFFSET(U4:U23,ROW(U4:U23)-ROW(U4),0,1))
evaluates to:
1-{1;1;1;1;0;0;1;0;0;1;1;1;0;0;1;1;0;0;1;0}
===>
{0;0;0;0;1;1;0;1;1;0;0;0;1;1;0;0;1;1;0;1}
The second conditional
--(U4:U23>0)
to:
{0;0;0;1;0;0;0;0;0;1;1;1;1;0;1;0;1;0;0;0}
And the range to sum,
U4:U23
to:
{-1.2;-0.18;-0.17;0.29;-1.26;0;-2.33;-2.33;0;0.23;1.69;4.01;5.93;0;0.5;0;0.5;0;-3.06;-3.06}
SumProduct multiplies the evaluations, which becomes:
{0;0;0;0;0;0;0;0;0;0;0;0;5.93;0;0;0;0.5;0;0;0}
a result it then sums.