WorksheetFunction.Rank Method

Returns the rank of a number in a list of numbers. The rank of a number is its size relative to other values in a list. (If you were to sort the list, the rank of the number would be its position.)

Namespace:  Microsoft.Office.Interop.Excel
Assembly:  Microsoft.Office.Interop.Excel (in Microsoft.Office.Interop.Excel.dll)

Syntax

'Declaration
Function Rank ( _
    Arg1 As Double, _
    Arg2 As Range, _
    Arg3 As Object _
) As Double
'Usage
Dim instance As WorksheetFunction
Dim Arg1 As Double
Dim Arg2 As Range
Dim Arg3 As Object
Dim returnValue As Double

returnValue = instance.Rank(Arg1, Arg2, _
    Arg3)
double Rank(
    double Arg1,
    Range Arg2,
    Object Arg3
)

Parameters

  • Arg1
    Type: System.Double

    Number - the number whose rank you want to find.

  • Arg3
    Type: System.Object

    Order - a number specifying how to rank number.

Return Value

Type: System.Double

Remarks

Important

This function has been replaced with one or more new functions that may provide improved accuracy and whose names better reflect their usage. This function is still available for compatibility with earlier versions of Excel. However, if backward compatibility is not required, you should consider using the new functions from now on, because they more accurately describe their functionality. For more information about the new functions, see the Rank_Eq(Double, Range, Object) and Rank_Avg(Double, Range, Object) methods.

If order is 0 (zero) or omitted, Microsoft Excel ranks number as if ref were a list sorted in descending order.

If order is any nonzero value, Microsoft Excel ranks number as if ref were a list sorted in ascending order.

Rank gives duplicate numbers the same rank. However, the presence of duplicate numbers affects the ranks of subsequent numbers. For example, in a list of integers sorted in ascending order, if the number 10 appears twice and has a rank of 5, then 11 would have a rank of 7 (no number would have a rank of 6).

For some purposes one might want to use a definition of rank that takes ties into account. In the previous example, one would want a revised rank of 5.5 for the number 10. This can be done by adding the following correction factor to the value returned by Rank. This correction factor is appropriate both for the case where rank is computed in descending order (order = 0 or omitted) or ascending order (order = nonzero value).

Correction factor for tied ranks=[COUNT(ref) + 1 – RANK(number, ref, 0) – RANK(number, ref, 1)]/2.

In the following example, RANK(A2,A1:A5,1) equals 3. The correction factor is (5 + 1 – 2 – 3)/2 = 0.5 and the revised rank that takes ties into account is 3 + 0.5 = 3.5. If number occurs only once in ref, the correction factor will be 0, since Rank would not have to be adjusted for a tie.

See Also

Reference

WorksheetFunction Interface

WorksheetFunction Members

Microsoft.Office.Interop.Excel Namespace