Not sure if this would be applicable in your situation, but there is an "nthlargest" function for rankings of 100 or less:
NthLargest
Basic and Crystal syntax.
Overloads
NthLargest (N, fld)
NthLargest (N, fld, condFld)
NthLargest (N, fld, condFld, cond)
Arguments
N is any integer from 1 to 100 (inclusive).
fld is any valid database or formula field that can be evaluated by the function.
condFld is a field used to group the values in fld by.
cond is a String indicating the type of grouping for condFld. You only specify this argument when condFld is a Date, Time, DateTime or Boolean field. For more information on the valid strings for this argument, see Conditions for summary functions .
Returns
Fractional Number
Action
Determines the Nth largest value in a given field, either for the entire report or for each instance of the (condFld) group.
Examples
The following examples are applicable to both Basic and Crystal syntax:
NthLargest(1, {Customer.CUSTOMER ID}
Returns 50, where the Customer ID field contains numerical values ranging from 12 to 50.
NthLargest(5, {Customer.CUSTOMER NAME}, {Customer.REGION})
Returns the fifth largest value in the Customer Name field, per region.
NthLargest(1, {orders.ORDER AMOUNT}, {Customer.REGION}, "monthly")
Groups values in the Amount field by region, then returns the largest value in the Amount field for each region, per month.
Note: Using this function in a formula forces the formula to be evaluated at print time.
For more information on evaluation time considerations, see Evaluation Time.