How to Average TOP 5 Values in Excel

Let say you have a line-up of 20 products in your company and you have data for monthly sales of all the 20 products.

From that data, you want to calculate the average of top 5 products. In short, you want to get the average of top 5 values from that data.

Look at the below example.

product sales to get top 5 average

Formula: Average TOP 5 Values

To average the top 5 scores from the list, you can use a formula based on the combination of LARGE and AVERAGE.

And, the formula will be:

=AVERAGE(LARGE(B2:B21,{1,2,3,4,5}))

formula to get top 5 average

How this formula works

To understand this formula, you need to split it into two parts.

In the first part, we have used the LARGE function.

LARGE Function

The LARGE function can return the nth largest value from data. If you specify 2 as the nth value it will return the second highest value from the data.

Here you need top 5 values, not just one so that you will average them. For this, you need to enter below array as nth value.

{1,2,3,4,5}

When you enter this into the function, it returns an array of top 5 values, just like this below.

how large formula works to get top 5 average

About the Author

Puneet Gogia

He is using Excel since his college days. He helped thousands of people to understand the power of the spreadsheets and learn Microsoft Excel. You can find him online, tweeting about Excel, on a running track, or sometimes hiking up a mountain.

LinkedIn - YouTube

Content Protection by DMCA.com

6 thoughts

Leave a Comment

Your email address will not be published.

  1. Thanks Puneet for Sharing.
    However just I had a thought If I have a Large Data Set,It will not be possible to mention the array value uptill which I need to Calculate the Average.
    We can instead use dynamic function like as I tried on my dataset:

    “{=Average(If(Array of Rank DataRank,Array of Related Data))},Note – {}, Thsi will make it as Array Function by Cltr+Shift+Enter”.

    Thanks!!

    Anubhav

    • What if your range is A1:A100? To find the average of the 5 largest values in a range using =average(a1:a5) requires the data in the range to be sorted largest to smallest (forcing them to be in the range A1:A5). Using the array formula =average(large(A1:A100,{1,2,3,4,5})) will choose the 5 largest values in the range no matter where they are in the range or what order they are in.