Aladin Akyurek said:
Correction: What I suggested should be changed to:
=(SUMIF(Range,">"&LARGE(Range,N))
+COUNTIF(Range,LARGE(Range,N))*LARGE(Range,N))
where N = 100 in the OP's case.
For the example I cookep up, it becomes:
=(SUMIF(B2:B20,">"&LARGE(B2:B20,10))
+COUNTIF(B2:B20,LARGE(B2:B20,10))*LARGE(B2:B20,10))
....
I thought you were doing this to handle ties for 10th largest, so only
counting one of them. But it doesn't work for that if there are, e.g., 3
scores tied for 9th place, in which case you're going to pull only 8 values
in the first SUMIF and 3 more in the COUNTIF*LARGE.
The other suggestions, using SUMPRODUCT(LARGE(X,{1,..,10})), avoid this.
Your approach would need to be changed to
=SUMIF(X,">"&LARGE(X,10))+(10-COUNTIF(X,">"&LARGE(X,10)))*LARGE(X,10)
if only 10 values should be included even if the 11th, 12th, etc. are the
same as the 10th, or just make it
=SUMIF(X,">="&LARGE(X,10))
if all entries equal to the 10th largest should be included.
Also, in the first formula having to call LARGE this many times, along with
SUMIF rather than SUMPRODUCT and COUNTIF, I think you'd need to demonstrate
the recalc speed gain to justify all these rather expensive function calls.
Your approach may be faster on recalc, but it's not obvious.