How to calculate weighted average in Excel

The tutorial demonstrates two easy ways to calculate weighted average in Excel - by using the SUM or SUMPRODUCT function.

In one of the previous articles, we discussed three essential functions for calculating average in Excel, which are very straightforward and easy-to-use. But what if some of the values have more "weight" than others and consequently contribute more to the final average? In such situations, you'll need to calculate the weighted average.

Although Microsoft Excel doesn't provide a special weighted average function, it does have a couple of other functions that will prove useful in your calculations, as demonstrated in the formula examples that follow.

What is weighted average?

Weighted average is a kind of arithmetic mean in which some elements of the data set carry more importance than others. In other words, each value to be averaged is assigned a certain weight.

Students' grades are often calculated using a weighted average, as shown in the following screenshot. A usual average is easily calculated with the Excel AVERAGE function. However, we want the average formula to consider the weight of each activity listed in column C.
Calculating weighted average in Excel

In mathematics and statistics, you calculate weighted average by multiplying each value in the set by its weight, then you add up the products and divide the products' sum by the sum of all weights.

In this example, in order to calculate the weighted average (overall grade), you multiply each grade by the corresponding percentage (converted to a decimal), add up the 5 products together, and divide that number by the sum of 5 weights:

((91*0.1)+(65*0.15)+(80*0.2)+(73*0.25)+(68*0.3)) / (0.1+0.15+0.2+0.25+0.3)=73.5

As you see, a normal average grade (75.4) and weighted average (73.5) are different values.

Calculating weighted average in Excel

In Microsoft Excel, weighted average is calculated using the same approach but with far less effort because Excel functions will do most of the work for you.

Example 1. Calculating weighted average by using the SUM function

If you have basic knowledge of the Excel SUM function, the below formula will hardly require any explanation:

=SUM(B2*C2, B3*C3, B4*C4, B5*C5, B6*C6,)/SUM(C2:C6)

In essence, it performs the same calculation as described above, except that you supply cell references instead of numbers.

As you can see in the screenshot, the formula returns exactly the same result as the calculation we did a moment ago. Notice the difference between the normal average returned by the AVERAGE function (C8) and weighted average (C9).
Calculating weighted average by using the SUM function

Although the SUM formula is very straightforward and easy to understand, it is not a viable option if you have a large number of elements to average. In this case, you'd better utilize the SUMPRODUCT function as demonstrated in the next example.

Example 2. Finding weighted average with SUMPRODUCT function

Excel's SUMPRODUCT function fits perfectly for this task since it is designed to sum products, which is exactly what we need. So, instead of multiplying each value by its weight individually, you supply two arrays in the SUMPRODUCT formula (in this context, an array is a continuous range of cells), and then divide the result by the sum of weights:

=SUMPRODUCT(values_range, weights_range) / SUM(weights_range)

Supposing that the values to average are in cells B2:B6 and weights in cells C2:C6, our Sumproduct Weighted Average formula takes the following shape:

=SUMPRODUCT(B2:B6, C2:C6) / SUM(C2:C6)

To see the actual values behind an array, select it in the formula bar and press the F9 key. The result will be similar to this:
To see the actual values behind an array, select it in the formula bar and press the F9 key.

So, what the SUMPRODUCT function does is multiply the 1st value in array1 by the 1st value in array2 (91*0.1 in this example), then multiply the 2nd value in array1 by the 2nd value in array2 (65*0.15 in this example), and so on. When all of the multiplications are done, the function adds up the products and returns that sum.
Calculating weighted average by using the SUMPRODUCT function

To make sure that the SUMPRODUCT function yields a correct result, compare it to the SUM formula from the previous example and you will see that the numbers are identical.

When using either the SUM or SUMPRODUCT function to find weight average in Excel, weights do not necessarily have to add up to 100%. Nor do they need to be expressed as percentages. For example, you can make up a priority / importance scale and assign a certain number of points to each item, as demonstrated in the following screenshot:

Calculating weighted average based on the importance scale

Well, that's all about calculating weighted average in Excel. You can download the Weighted Average spreadsheet and try the formulas on your data. In the next tutorial, we are going to have a close look at calculating moving average. I thank you for reading and look forward to seeing you next week!

You may also be interested in

30 responses to "How to calculate weighted average in Excel"

  1. sandipan says:

    how to use the same in pivot

  2. SJ says:

    How do I calculate the weight of each item
    Resource Part Schedule Production Remaining Overbuild Weight
    9003 3029093E 101002 88190 -12812 0
    1012 3029093E-ST 94231 48290 -45941 0
    1010 3035076E-ST 62374 62440 0 66
    1955 3031791E-ST 28180 84020 0 55840
    1958 3031330E-80S 23600 39590 0 15990
    1352 3032688B-ST 16816 74700 0 57884
    1350 3035077E-ST 12000 51600 0 39600
    1958 3031330E-80S 6600 50000 0 43400
    1350 3031413H-60S 0 49040 0 49040

  3. lu pak's says:

    Well I find this site very useful

  4. divya says:

    please tell me how to calculate in excel(basic calculation,office accounts)
    and also how to set calculation formats

  5. venkateswarlu says:

    1.2,2.2,3.3, these numbers are in one cell in excel .but how to do sum please explain please reply soon

  6. Agron says:

    I'm trying to use the weighted average for a group of numbers between 500,000 and 999,999. Is is possible to use the weighted average for a range of numbers. If so, how?

  7. Jo says:

    Hi Svetlana,
    How would I modify this to take two different sets of weights into account? Would it be wrong to multiply the 2 weights for each row?

  8. Tina Law says:

    Can you replace a cell by group name in a formula? let say column A = group name and column B = $. How do you average an amount for each group not using the A1:A...but instead using Group Name such as Grapes, Peach, etc..


  9. Veno says:

    Hi, I need to average a set of course works to the original value. Let's say the course work valued 60 points but I gave 5 pieces of assignments that valued 70 points and at the end of the semester I want to average them to the original value. Usually if a student say got a total of 55 out of 70, I would calculate 55/70 X 60 = 47. So the student would get 47 out of 60. How do I put that formula in excel?

    Would really appreciate your help, my class has over 60 students.

  10. Pete says:

    A worker is rated on a 1-5 scale for 10 different measures and his overall skill rating is the average of these numbers. The problem is that 3 of the measures are triple weighted and to further complicate matters, its possible for a worker to not be rated at all on one of the measures. This means the value isn't a 1, but a null value not factored into the overall average so as not to penalize them. How would you formulate this in excel?

  11. Brian OConnor says:

    Hi I have 3 employees ,,, And i pay a bonus each week for the staff member who gets in the most " new sales " or "new customers".

    Now i give a score of 1 point for new once off customers.
    And i gave 2 points to the staff member who can get a new customer, but this new customer is a contractor and will very likely to come back for more in the future,

    for example . sales Staff Peter total new sale were 1000.00 and his point score was 7.

    Sales staff 2. John total new sales was 1200.00 and his point score was 5.

    Sales staff 3. Sam total sales were 800 and his points score was 9.

    So can you tell me who wins the bonus ?

  12. pambos says:

    0 2 2.8
    2.01 5 3.2
    5.01 10 3.8
    10.01 3
    more than 10kg i charge every 10kg 3 euros.
    what formula i have to use to find the cost for the weight e.g 35kg

  13. yogesh says:

    how to calculate sum of basic salary of even no. of employee in excel

    • Hello,
      For me to understand the problem better, please send me a small sample workbook with your source data and the result you expect to get to Please don't worry if you have confidential information there, we never disclose the data we get from our customers and delete it as soon as the problem is resolved.
      Please also don't forget to include the link to this comment into your email.
      I'll look into your task and try to help.

  14. David says:

    How would I make the first equation ignore 0% or blanks?

  15. Walter says:

    So a bit more complex of a weighing that I need and I have struggled with it for a while.

    I basically have two separated weighted categories which each have 3 internal weighted categories but everything combines for one single score. I could not get the sum product function to align with the answer that populates from our automatic dashboard system .


    Total percentage of score is 100% broken into two main categories at 70 and 30 percent

    Category 1: 70% weight
    Sub Category 1 weight: 40% of the total 70%
    Sub Category 2 weight: 35% of the total 70%
    Sub Category 3 weight: 25% of the total 70%

    Category 2: 30% weight
    Sub Category 1: 33.3% of the total 30%
    Sub Category 2: 33.3% of the total 30%
    Sub Category 3: 33.3% of the total 30%

  16. Gerald Campagne says:

    How would i add a new number to a cell and give me an average of the amount of entries
    first entry 46
    a week later i want to add 52 to the same cell
    a week later i want to add 58 to the same cell
    I want the results to be 52 printed in the cell
    156 / 3 = 52

  17. Dana Rode says:

    How do I get the weighted aver per FY (total?
    FY16 FY17 FY18
    $4,600 $3,618 $53
    ($58) ($9) ($460)
    $140 $463 $99
    $6,627 $6,101 $6,420
    $0 $0 ($694)
    ($8) ($2,303) $0
    ($4,501) ($6,079) ($1,902)
    $6,800 $1,791 $3,516

  18. Vijay says:

    I want to perform all the calculations in one cel,item,Quantity and Moisture weighted average in exal

  19. AleD says:

    Thank you, I found the tutorial very useful!

  20. nishi nand says:

    Cutoff = 60 Marks
    Max Score = 70 Marks

    Weightage = 20%
    how to calculate score ( Weightage) if any body have 65 Marks

  21. Alex Gaydos says:

    I will be holding a random drawing for 80 people. Each person will have a number of raffle tickets earned before the drawing. I'd like to assign a weight to the people who have more raffle tickets than people who have less. Example: Person A has 10 raffle tickets and Person B has 3 raffle tickets, I'd like to assign a specific percentage for Person A and Person B. Person A probability should be higher than Person B. Is there a way I can do this and then hold a random drawing?

  22. Lynn says:


    How do I calculate the weighted average?
    Month= 1-12
    Amount= 159K; 67K; 92K; 83K; 125K; 119K; 213K; 85K; 79K; 113K; 124K; 183K

  23. Mangalmoy says:

    Op Or
    666.29 -10.79
    734.57 9.45
    800.39 41.7
    2201.25 40.36

    Weighted Average=?

  24. Kevin says:

    No need to divide by the percentage as it is always like dividing by 1.
    SUMPRODUCT(values_range, weights_range) is enough.

Post a comment

Thank you for your comment! When posting a question, please be very clear and concise. This will help us provide a quick and relevant solution to your query. We cannot guarantee that we will answer every question, but we'll do our best :)