The AVERAGE.WEIGHTED function finds the weighted average of a set of values, given the values and the corresponding weights.

Parts of an AVERAGE.WEIGHTED function

AVERAGE.WEIGHTED(values, weights, [additional values], [additional weights])

PartDescriptionNotes
valuesThe values to be averaged.* May refer to a range of cells, or may contain the values themselves.
weightsThe corresponding list of weights to apply.* May refer to a range of cells, or may contain the weights themselves. * Weights cannot be negative, though they can be zero. * At least one of the weights must be positive. * If using a range of cells, that range must have the same number of rows and columns as the range of values.
[additional_values]Additional values to average.* Additional values are optional.
[additional_weights]Additional weights to apply.* Additional weights are optional, but each additional_value must be followed by exactly one additional_weight.

Sample formulas

AVERAGE.WEIGHTED(10, 1, 20, 3)

AVERAGE.WEIGHTED(A1:A2, B1:B2)

AVERAGE.WEIGHTED(A1:A2, B1:B2, C1, C2)

Examples

This example shows the weighted averages of different numbers and weights:

ABCD
121Formula
243=AVERAGE.WEIGHTED(A1:A2, B1:B2)
386=AVERAGE.WEIGHTED(2, 10, 4, 15)
4=AVERAGE.WEIGHTED(A1:A2, B1:B2, C1, C2)

This example of weighted average calculates someone’s grade in a school course:

ABC
1ItemGrade
2Homework95
3Participation90
4Midterm exam85
5Projects88
6Final exam82
7Formula
8Final grade=AVERAGE.WEIGHTED(B2:B6, C2:C6)
  • SUMPRODUCT: The SUMPRODUCT function calculates the sum of the products of corresponding entries in 2 equally sized arrays or ranges.
  • AVERAGE: The AVERAGE function returns the numerical average value in a dataset, ignoring text.