Please Note: This article is written for users of the following Microsoft Excel versions: 97, 2000, 2002, and 2003. If you are using a later version (Excel 2007 or later), this tip may not work for you. For a version of this tip written specifically for later versions of Excel, click here: Weighted Averages in a PivotTable.

Weighted Averages in a PivotTable

by Allen Wyatt
(last updated July 13, 2015)

8

A good example of how to use calculated fields is for summarizing data differently than you can normally summarize it with a PivotTable. When you create a PivotTable, you can use several different functions to summarize the data that is displayed. For instance, you can create an average of data in a particular field. What if you want to create a weighted average, however? Excel doesn't provide a function that automatically allows you to do this.

When you have special needs for summations—like weighted averages—the easiest way to achieve your goal is to add an additional column in the source data as an intermediate calculation, and then add a calculated field to the actual PivotTable.

For example, you could add a "WeightedValue" column to your source data. The formula in the column should multiply the weight times the value to be weighted. This means that if your weight is in column C and your value to be weighted is in column D, your formula in the WeightedValue column would simply be like =C2*D2. This formula will be copied down the entire column for all the rows of the data.

You are now ready to create your PivotTable, which you should do as normal with one exception: you need to create a Calculated Field. Follow these steps:

  1. Click the down arrow next to the word PivotTable at the left side of the PivotTable toolbar. Excel displays a menu.
  2. Choose Formulas | Calculated Fields. Excel displays the Insert Calculated Field dialog box. (See Figure 1.)
  3. Figure 1. The Insert Calculated Field dialog box.

  4. In the Name box, enter a name for your new field.
  5. In the Formula box, enter the formula you want used for your weighted average, such as =WeightedValue/Weight. (You use field names in the formula; you can select them from the field list at the bottom of the Insert Calculated Field dialog box.)
  6. Click OK.

Your calculated field is now inserted, and you can use the regular summation functions to display a sum of the calculated field; this is your weighted average.

Since there are many different ways that weighted averages can be calculated, it should go without saying that you can modify the formulas and steps presented here to reflect exactly what you need done with your data.

ExcelTips is your source for cost-effective Microsoft Excel training. This tip (2900) applies to Microsoft Excel 97, 2000, 2002, and 2003. You can find a version of this tip for the ribbon interface of Excel (Excel 2007 and later) here: Weighted Averages in a PivotTable.

Author Bio

Allen Wyatt

With more than 50 non-fiction books and numerous magazine articles to his credit, Allen Wyatt is an internationally recognized author. He  is president of Sharon Parq Associates, a computer and publishing services company. ...

MORE FROM ALLEN

Inserting the Total Number of Pages in Your Document

Word keeps track of many statistics for each of your documents. One statistic is the total number of pages in the printed ...

Discover More

Using the WEEKNUM Function

Need to know which week of the year a particular date falls within? Excel provides the WEEKNUM function so you can easily ...

Discover More

Formatting Lots of Tables

Do you need a quick way to format your tables? Believe it or not, there are several tools you can use from Word's arsenal to ...

Discover More

Comprehensive VBA Guide Visual Basic for Applications (VBA) is the language used for writing macros in all Office programs. This complete guide shows both professionals and novices how to master VBA in order to customize the entire Office suite for their needs. Check out Mastering VBA for Office 2010 today!

More ExcelTips (menu)

Maintaining Formatting when Refreshing PivotTables

When you refresh the data in a PivotTable, Excel can play havoc with whatever formatting you applied. Here's how to protect ...

Discover More

Counting with PivotTables

One of the ways you can use PivotTables is to generate counts of various items in a data table. This is a great technique if ...

Discover More

Changing the Default PivotTable Functions

When you create a PivotTable, Excel automatically sums the data that you place into the Data Items area of the table. This ...

Discover More
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

View most recent newsletter.

Comments

If you would like to add an image to your comment (not an avatar, but an image to help in making the point of your comment), include the characters [{fig}] in your comment text. You’ll be prompted to upload your image when you submit the comment. Maximum image size is 6Mpixels. Images larger than 600px wide or 1000px tall will be reduced. Up to three images may be included in a comment. All images are subject to review. Commenting privileges may be curtailed if inappropriate images are posted.

What is 4 + 3?

2017-07-26 18:52:44

Qianjie

I agree with Igor. This tip is not weighted average at all.
I googled everywhere but very few are helpful. I worked it out eventually.
Let's say in raw data sheet, column 1 is your weight, column 2 is your value.
First, you need to create one helper column (co1omn 1 * column 2) into your raw data, if your raw data is linked to the server somewhere, you need to use the SQL querry to add this helper column to your raw data.
Second, create a Calculated Field in the PivotTable: CF = sum(helper column) / sum(column 1)
Then show sum CF in your PivotTable. That sum CF is the weight average!!


2017-04-06 04:16:06

Igor

I am not so sure this can be considered a weighted average though.
To the best of my knowledge a weighted average formula looks like
(v1*wv1)+(v2*wv2)+...+(vn*wvn)/Sum v1-to-n

The division is the tricky part, as it needs to aggregate data spread across several rows, whereas one of the limitations of calculated fields is that they are done row-by-row.

If you have any advice, would be happy to hear.


2016-08-24 13:18:54

IA

Your suggestion worked perfectly for me. Thanks!


2016-03-21 06:53:05

Declan

Can i put a weighted average as a subtotal and/or grand total in a pivot table?
Your tip only gives me the total weighted value, how do i get to put the average of the total weighted value into the grand total or subtotal row?


2015-05-18 15:49:11

Drew

Your suggestion worked perfectly!


2015-05-01 16:25:02

reinhold23

Thanks, this worked great!


2014-05-28 15:18:20

Peter

This method produced valid results for me. Many thanks.


2013-08-21 10:55:24

Panther68

Your Method is incorrect


This Site

Got a version of Excel that uses the menu interface (Excel 97, Excel 2000, Excel 2002, or Excel 2003)? This site is for you! If you use a later version of Excel, visit our ExcelTips site focusing on the ribbon interface.

Newest Tips
Subscribe

FREE SERVICE: Get tips like this every week in ExcelTips, a free productivity newsletter. Enter your address and click "Subscribe."

(Your e-mail address is not shared with anyone, ever.)

View the most recent newsletter.