Function Problems

Why Excel RANK Function Returns Unexpected Results for Ties

Huda QurayshiHuda Qurayshi Oct 15, 2026 869 views

Question details

The user is experiencing unexpected or inconsistent ranking results when using the RANK or RANK.EQ functions, specifically concerning tied values and how the sorting order is applied.

Why Excel RANK Returns Unexpected Results for Tied Values
Product
Microsoft Excel
Device & OS
not provided
Scenario
Ranking a dataset containing duplicate or tied values using formulas.
Observed behavior
Tied values are assigned the same rank, causing subsequent ranks to skip numbers. The sequence can also appear inconsistent when toggling between descending and ascending orders.
Before you start

Verify whether your dataset requires ascending or descending ranking, and identify if there are duplicate values in your data range before troubleshooting the RANK function.

Solution 1Recommended

Adjust the Order Argument in RANK or RANK.EQ

Ensure the order argument is correctly set to 0 for descending order or 1 for ascending order, and understand how Excel handles duplicate ranks.

Excel's RANK and RANK.EQ functions intentionally assign the same rank to duplicate values. Because of these ties, the rank of subsequent numbers is affected (e.g., if two items tie for rank 1, the next item is rank 3).

The apparent inconsistency usually stems from how the 'order' argument is applied. This behavior has remained consistent across all versions of Excel.

1
Select the formula cell

Click on the cell containing your RANK or RANK.EQ formula.

2
Check the formula arguments

Look at the formula bar to verify the third argument in your syntax: =RANK(number, ref, [order]).

3
Set descending order

To rank values in descending order (where the largest value is rank 1), either omit the order argument entirely or type 0.

4
Set ascending order

To rank values in ascending order (where the smallest value is rank 1), type 1 for the order argument.

Adjust the Order Argument in RANK or RANK.EQ
Understanding Tied Ranks: If two values tie for rank 1, they both receive rank 1. Excel skips rank 2, and the next value in the list will be assigned rank 3.
Powerful Data Analysis Tool

Easily Manage Data and Formulas with WPS Spreadsheet

WPS Spreadsheet fully supports Excel's RANK and RANK.EQ functions, allowing you to easily rank your datasets, handle ties, and process complex formulas for free.

  1. 1. Open your dataset: Launch WPS Spreadsheet and open the document containing the data you want to rank.
  2. 2. Access the function library: Select a blank cell, click on the 'Formulas' tab in the top ribbon, and choose 'Insert Function'.
  3. 3. Insert the RANK function: Search for 'RANK' or 'RANK.EQ', then input your target number and the full data range for the reference.
  4. 4. Define the order: Set the 'Order' argument to 0 (descending) or 1 (ascending) depending on your sorting needs, then click 'OK' to apply.
100% compatibility with Microsoft Excel formulas and .xlsx file formatsUser-friendly formula builder to guide you through complex functionsLightweight application that runs smoothly on all major operating systemsCompletely free to use for everyday data analysis and ranking tasks
microsoft office alternative - wps office

Frequently Asked Questions

How do I break ties in Excel ranking?

To break ties, you can add a small tie-breaking formula using the COUNTIF function. For example, use the formula =RANK(A2,$A$2:$A$10) + COUNTIF($A$2:A2, A2) - 1. This assigns unique ranks by adding a fractional increase to duplicate values based on their order of appearance.

What is the difference between RANK and RANK.EQ?

There is no functional difference in how they calculate ranks. RANK is a legacy function from Excel 2007 and earlier, while RANK.EQ was introduced in Excel 2010 to provide better consistency in naming conventions alongside other statistical functions.

Is there a way to assign the average rank to tied values instead of the top rank?

Yes, you can use the RANK.AVG function instead of RANK.EQ. If two values tie for rank 1 and 2, RANK.AVG will assign a rank of 1.5 to both values, rather than assigning 1 to both.