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:


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.


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

Content Protection by


  1. Anubhav Rustogi 5 Sep, 17 at 9:51 am - Reply

    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”.



  2. Pankaj Bahuguna 4 Sep, 17 at 7:27 am - Reply

    what is the difference if we use only =average(a1:a2) and =average(large(array,n))

    • Plastic Cup 5 Sep, 17 at 1:19 am - Reply

      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.

      • Puneet Gogia 5 Sep, 17 at 3:04 am - Reply

        @plastic_cup:disqus More Power to You

      • Pankaj Bahuguna 5 Sep, 17 at 4:38 am - Reply

        10xx… i got it

    • KWT 14 Nov, 18 at 10:25 pm - Reply

      You will get the average of the range, not just the top 5.

Leave A Comment