Table of Contents
Excel の ピボットテーブル で平均値を計算する方法です。 特に例外がある場合は気をつける必要があります。
環境
- Excel 2016
基本
今回の説明にはこちらのテーブルを使います。

これでピボットテーブルを作成します。

集計方法を変更します。 値の各項目をクリックして、値の設定を行います。

平均を選択します。

特定の値の平均
上の例では単純に平均を計算しましたが、もし次のような表があって、プラスの値の平均を知りたいという場合は上のようにはうまくいきません。

これは件数や合計でも同じなのですが、セルの値が空の場合は計算対象に含まれません。 なので、プラスの値の場合のみ(条件に合致する場合のみ)値が表示されるようにします。 具体的には IF
を使用します。 新しい列を追加して、 条件に応じて値を表示するようにします。
ここでは値の表では Excel の機能「テーブル」を使っていますので、 “R Age” では IF([@Age] > 0, [@Age], "")
、 “R Duration” では IF([@Duration] > 0, [@Duration], "")
と記述します。 そして、 新しく作った “R Age“、 “R Duration” で平均を算出します。

新しい列を追加したら、更新ボタンを押してピボットテーブルを更新します。

そして、新しくできた列の値の平均値を表示するよう設定します。 ここでは比較のために、計算前の列の値も表示しています。

新しく追加した平均値は、マイナスの値が入っていない分、前の値より大きくなっていますね。