How to calculate weighted average in Excel

Svetlana Cheusheva by , updated on

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.

Calculating weighted average using 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.

Finding weighted average with SUMPRODUCT

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 sample spreadsheet below 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!

Practice workbook

Excel Weighted Average - examples (.xlsx file)