各データ ポイントが複数回測定された測定値の表があります。
平均値を表示し、値の標準偏差をエラー バーとして使用するピボット グラフを作成したいと思います。
これまでのところ、次のものがあります:
- 私の DataTable には、カテゴリ列 (日付と時刻) が 1 つと値列が 1 つあります。
- 平均値を生成するピボットテーブルがあり、標準偏差も生成します
- 私のチャートには現在、平均と標準偏差が個別のデータ系列として表示されています。
stdDevシリーズ(オレンジ)を希望しますないグラフには表示されませんが、平均シリーズ (青) にはエラー バーが表示されます。これらのエラー バーは、stdDev 値のサイズである必要があります。
エラーバーのオプションは見つかりましたが、(計算された)StdDev を大きさとして割り当てる方法がわかりません。
与えられたオプションは標準偏差のみを使用するピボットテーブルの値全体。
これはない私が欲しいもの。
しかし、詳細オプションに移動すると:
また、指定する方法も見つかりません修理済みカスタム値。
フィールドではテーブル範囲を選択できるようですが、選択できるのは特定のセクション。つまり、ピボット テーブルで対応する値を選択してグラフを取得できます。
エラー バーは希望どおりになりましたが、ピボット テーブルの構造を変更すると (つまり、新しい日付を追加すると)、接続が失われます。
エラーバーでは常に同じ行の計算値を使用するようにしたいのですが、これは可能ですか?
(そして、オレンジシリーズも非表示にしたいのですが、それは二次的なものです。)
答え1
VBAを使用して、イベントこれは、ピボット チャート内の何かが更新されるたびに実行されます。このイベントでは、エラー バーの正しいセル参照を入力するコードを記述します。そのため、ピボット チャートが更新されるたびに、エラー バー参照も更新されます。
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
Dim rng As Range
Set rng = Me.PivotTables("PivotTable1").DataBodyRange.PivotField.DataRange.Offset(, 1)
With Me.ChartObjects("Chart 1").Chart.SeriesCollection(1)
.HasErrorBars = True
.ErrorBar Direction:=xlY, Include:=xlBoth, _
Type:=xlErrorBarTypeCustom, _
Amount:=rng, _
MinusValues:=rng
End With
End Sub
"PivotTable1"
ピボット名とグラフ名を"Chart 1"
シート内の実際の名前に変更する必要がある場合があります。
Altこのコードは、 +で開くことができる VBA エディターの対応するシート モジュール内に配置する必要がありますF11。