Weighted Average in Excel [Formulas]

Posted on June 15th, 2010 in Learn Excel - 50 comments

Today we will learn how to calculate weighted averages in excel using formulas.

What is weighted average ?

Weighted average or weighted mean is defined as [from wikipedia],

The weighted mean is similar to an arithmetic mean …, where instead of each of the data points contributing equally to the final average, some data points contribute more than others.

If all the weights are equal, then the weighted mean is the same as the arithmetic mean.

Why should you calculate weighted average?

or in other words, why you should  not calculate normal average?

Well, it is because, in some situations normal averages give in-correct picture. For eg. assume you are the CEO of ACME Widgets co.. Now you are looking annual salary report and being the numbers-gal you are, you wanted to find-out the average salary of your employees. You asked each department head to give you the average salary of that department to you. Here are the numbers,

Weighted Average Formula for Excel

Now, the average salary seems to be $ 330,000 [total all of all salaries by 5, (55000+65000+75000+120000+1200000)/5 ].

You are a happy boss to find that your employees are making $330k per year.

Except, you are wrong. You have not considered the number of employees in each department before calculating the average. So, the correct average would be $76k as shown above.

How to calculate weighted average in Excel?

Weighted Average Formula Examples for Microsoft ExcelThere is no built-in formula in Excel to calculate weighted averages. However, there is an easy fix to that. You can use SUMPRODUCT formula. By definition, SUMPRODUCT formula takes 2 or more lists of numbers and returns the sum of product of corresponding values. [related: Excel SUMPRODUCT Formula - what is it and how to use it?]

So, if you have values in A1:A10 and the corresponding weights in B1:B10, you can use SUMPRODUCT like this to get weighted average.

=SUMPRODUCT(A1:A10,B1:B10)

However, the above method works only if B1:B10 contains weights in %s totaling to 100%.

In the above average salary example, we dont have weights. But we have count of values. This is when you can use a variation of SUMPRODUCT Formula like this:

=SUMPRODUCT(A1:A10,B1:B10)/SUM(B1:B10)

Download Weighted Average Calculation Example Workbook:

In this workbook, you can find 3 examples on how to to calculate weighted average in excel. Go ahead and download it to understand the formulas better.

Do you use Weighted Mean / Weighted Average?

What do you use it for? What kind of challenges you face? Do you apply any tweaks to weighted average calculations? Please share your ideas / tips using comments.

More examples on Averages and Formulas:

50 Responses to “Weighted Average in Excel [Formulas]”

  1. Amit says:

    Thanks Chandoo

  2. Cyril Z. says:

    Hello Chandoo,

    I use weighted average almost every day, when I want to compute the progress of my projects in terms of functional coverage :

    1. I have a list of tasks during from 1 day to 20 days.
    2. It is obvious that each task must be weighted regarding its duration.
    3. My functional coverage is calculated with :
    sumproduct ( total_duration_array * ( todo_array = 0 ) ) / Sum ( total_duration_array )

    and all subsequent grouping you can think (group by steps…)

    Regards

    Cyril Z.

  3. Krok says:

    I use it to calculate the Avg Mkt Price Vs our Products.

    Main difficultie: to place the calculation on a Pivot Table :D

    The use of array formulas does the trick for this calculation but, since I keep feeding new info to the file, it is getting way to “heavy” so I’ve started changing this calculation to a pivot table.

  4. Martin says:

    If I was the CEO of ACME…. Coyote would be armored like Iron Man !!!

  5. Yair says:

    Hello Chandoo
    First – your site is excellent and very enlightning
    Second – I find it easir to use an array formula
    SUM(A2:A6*B2:B6/SUM($B$2:$B$6))

  6. Daniel Ferry says:

    @Yair –

    You can write your version of the formula with the SUMPROUDCT instead of the CSE SUM:
    .
    SUMPRODUCT(A2:A6*B2:B6/SUM($B$2:$B$6))
    .
    Why bother? SUMPRODUCT is about 10% faster than the equivalent array formula. I write about this on my blog:

    http://www.excelhero.com/blog/2010/01/the-venerable-sumproduct.html

    Regards,

    Daniel Ferry
    excelhero.com

  7. Gregor Erbach says:

    And how would you calculate the MEDIAN of a data set that is presented as values and frequencies?

    I have tried a couple of approaches, but could not come up with a solution that was elegant and scalable to data sets with an abritrary number of rows.

  8. Steve-O says:

    If I’m the CEO, I’d want to see how much money total is spent on payroll for each department. In which case, I’d just total payroll spending and divide by total # employees.

  9. Ouiski7 says:

    Thanks Chandoo, elegant solutions and helpful web site!

    Small typo: both instances of $330,000 should be $303,000. You got it right in the image with the red circle around it, but the text is wrong.

    “Now, the average salary seems to be $ 330,000 [total all of all salaries by 5, (55000+65000+75000+120000+1200000)/5 ].
    You are a happy boss to find that your employees are making $330k per year.”

  10. ramu says:

    superb For weighted avg

  11. Joel says:

    What if my weights are decline equally. Example Data to be measured with WMA A10:A20, weights 10,9,8,7, etc, starting with A20*10, A19*9, A18*8 etc.

    Do I need to create a separate column with the numbers 10,9,8,7,6 etc?

    Thanks!

  12. Hui... says:

    @Joel
    You don’t need to use a seperate column for the weights, but it can be useful for clarity
    .
    If the weights are based as you say on a series you could use a formula like
    say your in B20
    =A20*(row()-10)
    so as you copy this between B10 and 20 it will adjust automatically as you specified

  13. Joel says:

    That works nicely. Thank you!

  14. Krunal Patel says:

    Hi Chandoo,

    Can you please guide me on How to calculate weighted average on the basis of Date…?

    I wanna find out two things (1) Weighted average amount (2) Weighted average Date

    Data:

    Date Amount
    01-Jan-11 1200
    08-Mar-11 1000
    05-Jun-11 1200
    17-Mar-11 1500
    30-Jun-11 1600

    Kind Regards,
    Krunal Patel

  15. Hui... says:

    @Krunal
    The average is (1200+1000+1200+1500+1600)/5 = 1300
    When you say weighted average what other measure are you measuring against?
    Typically you will have say a Weight, Mass,Volume or Time which your measure applies to
    If I sort your data by date
    `1-Jan-11 1,200 66.0
    8-Mar-11 1,000 9.0
    17-Mar-11 1,500 80.0
    5-Jun-11 1,200 25.0
    30-Jun-11 1,600

    Total 238,200 180.0
    W.Ave 1,323.3 `

    In the above the 1200 units has lasted 66 days
    the 1000 units 9 days
    If I sumproduct the Qty and the days
    I get 238,200
    This doesn’t include the 1600 units
    I then divide the 238,200 units
    by total days =180 to get 1,323 units per day

    Hope that helps

  16. Krunal Patel says:

    Hi Hui,

    Thanks for your reply.

    I understand the concept but I dont understand why last date is not included. Instead it should have more weighted as compared to other.

    Krunal

  17. Hui... says:

    @Krunal
    I have assumed that the 1200 units on 1 Jan applies from 1 Jan until the next period 8 Mar
    If it is the other way around where data applies retrospectively, then your right except that we would leave out the Jan 1 result, see below
    eg:
    1-Jan-11 1,200 -
    8-Mar-11 1,000 66
    17-Mar-11 1,500 9
    5-Jun-11 1,200 80
    30-Jun-11 1,600 25
    .
    Total 1,197 180

    .
    As I originally said weighting requires a second variable
    Look at the fat content of Milk
    it is expressed as %
    So if you have 1000 litres at 5% and 4000 litres at 10%
    in total you have 5000 litres at a weighted average of 9% (1000×5 + 4000*10)/5000
    .
    So in your case I have made assumptions about the usage of your product as you haven’t supplied much data
    If my assumptions are wrong let me know

  18. RAJU says:

    Run hr Produ prod/hr
    1425.5 431380 302.61
    873 290894 333.21
    604 232249 384.51

    If I take average of individual row, I find a prod/hr figure which is given in last column above. And while taking average of prod/hr, means (302.61+333.21+384.51/3), I find an average value 340.11.

    And if I take sum of run hour (1425.5+873+604) and sum of produ (431380+290894+232249) and divide produ sum by run hour sum then I find a different average that is 328.8

    Why this difference in average value though in totality it looks same?

    May some one help me, pls.

    Regards
    Raju

    328.86

  19. Hui... says:

    @Raju
    You cannot simply average the averages, because as you see each input has a different weighting. Your 604 hrs they worked very hard and in the 1425 hrs they slowed down.
    What you’ve done by summing the Production and dividing by the sum of the hrs is correct

  20. Brad says:

    Hi. I have a series of prices, and I’m trying to develop a formula which gives me a projected price… So for example:
    Prices (Earliest to Most Recent)
    2.50
    2.90
    3.50
    4.30
    5.00
    ?.??

    I want to see what the price is likely to be in the cell ?.??, and I want the most recent price to be more relevant than the earlier prices… so in this example, I imagine the value would be something around $6.30… the difference between the prices being .40, .60, .80, 1.00…

    I really only need the results in one cell, taking into account something like a 5 day moving weighted average (if such a thing exists). I’m essentially trying to see if the price is trending upwards, estimating the price based on more recent sales data and working out if the difference between most recent price ($5.00) and projected price (?.??) is more than 5%.

  21. James Calvo says:

    Hi, i need some help creating a weight average for some account under me. we have 3 product lines (growing to 5 soon). I need to create a formula that shows a weight average to rank the account 1-50.
    so product 1 goal is 50 product 2 goal is 3 and product 3 goal is 3. i would weight these based on importance at 80% product 1, 15% product 2 and 5% product 3. so how would i write this formula since averaging the 3 is not the correct way.
    so here is a small example
    Acct Name prdt 1 actual prdt 1 goal prdt1 % to goal
    acct 1 25 50 50%
    prdt 2 actual prdt 2 goal prdt2 % to goal
    acct 1 1 3 33%
    prdt 3 actual prdt 3 goal prdt3 % to goal
    acct 1 1 3 33%

    so the average % of the products is 38% thats not what i need i need the weighted average by acct on all three products using the weights 80, 15 and 5. Please help.

    James

  22. Hui... says:

    @James
    .
    Actual
    =25*0.80 + 1*0.15 + 1*0.05
    =20.2
    .
    Goal
    =50*0.80 + 3*0.15 + 3*0.05
    =40.6

  23. Ryan says:

    Hi there, I’m trying to calculate a weighted average in Excel of products that are not in adjacent cells but cannot figure it out. For cells adjacent to each other I use sumproduct but can’t find info on how to do it if the cells I need a weighted avg for are not next to each other.

    IE
    100,000(cell A1) units at $5 (cell B1)
    150,000 (cell A5) units at $6 (cell B5)

    Help!

  24. Hui... says:

    You can use
    =SUMPRODUCT(A1:A5,B1:B5)/SUM(A1:A5)

    or
    =(A1*B1+A5*B5)/(A1+A5)

    or
    =SUMPRODUCT((MOD(ROW(A1:A5),4)=1)*(A1:A5)*(B1:B5))/SUMPRODUCT((MOD(ROW(A1:A5),4)=1)*(A1:A5))

    or
    =SUMPRODUCT((MOD(ROW(A1:A5),4)=1)*(A1:A5)*(B1:B5))/SUM((MOD(ROW(A1:A5),4)=1)*(A1:A5)) Ctrl Shift Enter
    (I’ve been waiting a while to use those techniques again)

    refer: http://chandoo.org/forums/topic/i-need-idea-on-a-simpler-formula

  25. Help Please says:

    I am trying to find teh weighted average score for a particular student name Dennis, Gina. How can I obtain this using the sumproduct formula if it’s on 3 separate rows?

    Agent Name ACD Calls Avg ACD Avg ACW Avg Hold AHT

    Francis, Luis 951 139 29 13 180
    Malave, Luz 910 143 28 86 256
    Dennis, Gina 920 550 290 750 1590
    Dennis, Gina 920 165 33 62 260
    Sawyer, Curvin 1,536 236 4 60 299
    Dennis, Gina 1,267 198 32 77 306

  26. Hui... says:

    @Help Please
    Assuming your data is in A1:G7
    Try this for Column B:
    =SUMPRODUCT((A2:A7=”Dennis, Gina”)*(B2:B7))/COUNTIFS(A2:A7,”Dennis, Gina”)

    Adjust for other columns

  27. ann says:

    need help…i have a table that shows attach rates of each segment by quarter. i need to find the weighted avg of the last 4 qtrs

    for example: segment 1 in qtr 1 is 60%, qtr 2 at 63%, qtr 3 at 48% and qtr 4 at 43%

  28. Hui... says:

    @Ann
    =Sum(range of the last 4 qtrs)/4

  29. Needing help! says:

    Hi. I’m having trouble finding the weighted average for the % of influence (which is related to the rated level). I need to find out what the weighted average % inluence is (the % column) and then to use that % to calculate the $ of the influenced spend overall. HELP

    Spend A Level % Spend B Level % Total$(M)
    $99,660,078.50 0 0% $3,886,439.82 1 15% $300
    $393,235.39 3 100% $465,897.47 2 50% $ 4

  30. jess says:

    In the First Semester Scores worksheet, in cell F17, enter a formula to calculate the weighted average of the first student’s four exams. The formula in cell F17 should use absolute references to the weights found in the range C8:C11, matching each weight with the corresponding exam score. Use Auto Fill to copy the formula in cell F17 into the range F18:F52.

    Student Score Top Ten Overall Scores
    Student ID Exam 1 Exam 2 Exam 3 Final Exam Overall
    390-120-2 100.0 83.0 79.0 72.0
    390-267-4 84.0 91.0 94.0 80.0
    390-299-8 55.0 56.0 47.0 65.0
    390-354-3 95.0 91.0 93.0 94.0
    390-423-5 83.0 82.0 76.0 77.0
    390-433-8 52.0 66.0 61.0 53.0
    390-452-0 85.0 94.0 94.0 91.0
    390-485-7 89.0 78.0 80.0 87.0
    390-648-6 92.0 87.0 89.0 97.0
    390-699-6 74.0 75.0 47.0 64.0
    391-260-8 96.0 82.0 91.0 96.0
    391-273-8 69.0 74.0 81.0 74.0
    391-315-1 87.0 89.0 70.0 82.0
    391-373-1 100.0 94.0 86.0 93.0
    391-383-6 93.0 90.0 95.0 80.0
    391-500-8 78.0 89.0 81.0 88.0
    391-642-7 74.0 81.0 83.0 86.0
    391-865-0 88.0 71.0 84.0 81.0
    391-926-7 94.0 90.0 97.0 97.0
    391-928-5 83.0 71.0 62.0 87.0
    392-248-7 72.0 70.0 88.0 77.0
    392-302-1 83.0 76.0 81.0 80.0
    392-363-7 89.0 72.0 77.0 73.0
    392-475-2 100.0 96.0 90.0 99.0
    392-539-3 95.0 96.0 91.0 85.0
    392-709-8 72.0 49.0 60.0 51.0
    392-798-4 82.0 61.0 70.0 61.0
    392-834-1 82.0 71.0 64.0 70.0
    393-181-6 76.0 69.0 58.0 70.0
    393-254-4 90.0 76.0 91.0 71.0
    393-287-6 84.0 85.0 66.0 74.0
    393-332-3 96.0 88.0 94.0 93.0
    393-411-8 80.0 74.0 75.0 82.0
    393-440-4 86.0 85.0 85.0 82.0
    393-552-0 100.0 96.0 87.0 94.0
    393-792-5 78.0 60.0 87.0 70.0
    py the formula in cell F17 into the range F18:F52.

  31. Amy says:

    You rock! Thanks so much for this weighted average calcuation/formulas. They are dead on.

  32. R.Williams says:

    Hi, I am not sure if this falls under weighted average or how to figure this..
    I have different payment terms for different vendors and am trying to figure out how to figure my average payment terms on a montly basis.
    25 days = 5% of spend
    30 days = 60% of spend
    45 days = 20% of spend
    60 days = 15% of spend.
    Can you advise? Thanks!!

  33. Danielle says:

    I have to compute weighted average for students exam scores. Let’s say there are 5 exams.
    But some of the students have only 3 or 4 exam scores… How can I do that?

  34. Hi,

    I was looking for a payroll dashboard.

    Do you have one?

  35. Khalid says:

    useful, but please change the $330k to $303k in the text

    best

  36. Great article! Very helpful example of weighted averages. Now to apply this to my ranking formula…

  37. Manu says:

    Hi, i have a typical problem where i have around 15 transactions which have different AHT’s for each of the transaction. I would like to know what will be the weighted average of all these AHT & Transactions, can u pls help me out

    Transaction Type AHT Per Day Tran
    120 Sec Trans 120 3
    180 Sec Trans 180 87
    208 Sec Trans 208 2954
    240 Sec Trans 240 354
    293 Sec Trans 293 4
    300 Sec Trans 300 79
    120 Sec Trans 322 2464
    380 Sec Trans 380 19
    381 Sec Trans 381 229
    120 Sec Trans 396 182
    401 Sec Trans 401 655
    480 Sec Trans 480 49
    540 Sec Trans 540 33
    987 Sec Trans 987 251
    1080 Sec Trans 1080 47

    • Hui... says:

      @Manu

      Assuming your data is in Columns A1:D16
      try the following:

      Weighted Ave. AHT per Day
      =SUMPRODUCT(A2:A16,C2:C16)/SUM(A2:A16)

      Weighted Ave. Tran
      =SUMPRODUCT(A2:A16,D2:D16)/SUM(A2:A16)

      • Manu says:

        Thanks Mr. Huitson, however need one clarity as to what should be the values in cells D2 to D16 ?
        As in my earlier query, i have given the Transaction AHT in Column ‘B’ and daily average volume in Column ‘C’


        Please help

  38. Himanshu says:

    COLOR DIFF :
     
    CLARITY DIFF:
    CUT DIFF:
     
    POLISH DIFF:
    SYM DIFF:

    53.14%
    SAME
    65.22%
    SAME
    84.06%
    SAME
    48.79%
    SAME
    66.18%
    SAME

    24.64%
    1 BETTER
    28.02%
    1 BETTER
    7.25%
    1 BETTER
    48.79%
    1 BETTER
    26.57%
    1 BETTER

    15.94%
    1 WEAK
    5.80%
    1 WAEK
    8.70%
    1 WEAK
    2.42%
    1 WEAK
    7.25%
    1 WEAK

    4.83%
    2 BETTER
    0.48%
    2 BETTER
     
     
     
     
     
     

    1.45%
    2 WEAK
    0.48%
    2 WEAK
    hie how can i get overall average formula ols reply me as soon as possible
     
     
     
     
     

    • Hui... says:

      @Himanshu

      Can you please post the file as this is difficult to understand

      • Manu says:

        below is the snapshot as am unable to upload the excel
        AHT is the time consumed for each of the transaction and the next figure is the daily count of transactions

        (120 seconds, 3 transactions per day
        180 seconds, 87 transactions per day    
        208 seconds, 2954 transactions per day)

        AHT Per_Day_Tran
        120 3
        180 87
        208 2954
        240 354
        293 4
        300 79
        322 2464
        380 19
        381 229
        396 182
        401 655
        480 49
        540 33
        987 251
        1080 47  

          

  39. Mahesh says:

    HI Chandoo,

    I am wondering if I can use any function in excel to help me make a better purchase decision…..

    for example, if I am looking for a product (say, a laptop computer) and I go on a shopping website and I find out following information.
    1. Model number
    2. number of reviews
    3. actual review rating (out of 10)

    Now, there may a case when one person rated product A 10 our of 10 Vs 100 people rated another product B 9 out of 10. Obviously, I am safer with going for Product B, but how can excel be of help? 

    To make it more complex, if there were attributes of user ratings(like ease of use, durable, design etc), how to see this complex picture as top ranking of 1 , 2 and 3?

    Just was wondering…………………

    thanks in advance………….. 

    • Hui... says:

      @Mahesh

      Typically you will setup a number of criteria and then rank each criteria from say 1 to 10

      Add up the criteria

      and then examine the results

      You may want to give some criteria differing importance and this can be done by giving such criteria a score of between 1 and 20 etc

      You need to be careful about weighting scores on the number of responses

       

Leave a Reply