How to Fix Excel LARGE Function Returning Different Results After Sorting
Question details
The user is experiencing an issue where a LARGE-based formula calculates different top-ten results after the data table is sorted, despite the underlying data remaining unchanged.

- Product
- Microsoft Excel
- Device & OS
- not provided
- Scenario
- Calculating the sum of the top ten values in a dataset that gets sorted manually or via VBA.
- Observed behavior
- The formula output changes after sorting because large values are repositioned outside the incomplete hardcoded formula range.
Verify the exact row number where your dataset ends. Sorting does not alter your data values, but it does reposition them; if your formula does not cover the complete data range, large values may be moved out of the calculated area.
Expand the Formula Range to Cover All Data
Update the absolute references in your LARGE function to ensure they encompass the entire dataset.
When a formula like `=SUM(LARGE(Q16:Q157,{1;2;3;4;5;6;7;8;9;10}))` is used on a dataset that extends down to row 197, sorting the data can easily move the largest values into the Q158:Q197 range. Because the formula stops looking at row 157, it misses the highest scores.
Click on the cell that contains your LARGE function to display its contents in the Formula Bar.
Scroll down to the bottom of your worksheet and note the exact row number where your final piece of data resides (e.g., row 197).
Modify the range inside the LARGE function to include all relevant rows. For example, change Q16:Q157 to Q16:Q197.
Press Enter (or Ctrl+Shift+Enter if using legacy array formulas) to apply the corrected formula. Your sorting macro or manual sort will no longer break the result.

Use Structured Table References for Dynamic Ranges
Convert your data into an Excel Table so your formulas automatically expand or contract as data is added, removed, or sorted.
Easily Manage Top-N Calculations and Dynamic Tables with WPS Office
WPS Spreadsheet fully supports array formulas, the LARGE function, and dynamic structured tables. You can easily calculate rankings, sort heavy datasets, and manage complex scores without worrying about broken references.
- 1. Open Your Workbook: Launch WPS Spreadsheet and open your existing file containing the score data.
- 2. Create a Dynamic Table: Highlight your data and press Ctrl+T to format it as a table, making references dynamic.
- 3. Apply Your Formula: Input your `=SUM(LARGE(...))` formula referencing the table column directly.
- 4. Sort with Confidence: Sort your data freely using the built-in filters. WPS handles the range boundaries flawlessly.

Frequently Asked Questions
Why does sorting change my formula results in Excel?
Sorting physically repositions your data into different rows. If your formula uses a fixed range (like Q1:Q10) but the target data gets sorted into row 15, the formula will no longer see that data, resulting in a changed or incorrect calculation.
What is the syntax for the Excel LARGE function?
The syntax is `=LARGE(array, k)`. The 'array' is the range of cells containing the data you want to evaluate, and 'k' is the position from the largest value to return (e.g., 1 for the highest value, 2 for the second highest).
How do I sum the top 10 values using the LARGE function?
You can nest the LARGE function inside a SUM function and use an array constant for the 'k' argument. The formula looks like this: `=SUM(LARGE(A1:A100, {1,2,3,4,5,6,7,8,9,10}))`.
How do I make my formula range expand automatically?
The best way to make a range expand automatically is to convert your data into an Excel Table by pressing Ctrl + T. Then, reference the table column in your formula (e.g., `Table1[Column1]`) instead of standard cell coordinates.




