Excel:使用 value-stdDev 作為誤差線的資料透視圖?

Excel:使用 value-stdDev 作為誤差線的資料透視圖?

我有一個測量表,每個數據點都被測量了多次。
我想建立一個資料透視圖,它顯示平均值並使用該值的標準差作為誤差線。

這是我到目前為止所擁有的:

EXCEL表格

  • 我的資料表有一個類別欄位(日期和時間)和一個值欄位。
  • 我有一個數據透視表,它產生平均值,它還產生標準差
  • 我的圖表目前將平均值和標準差顯示為單獨的資料系列。

我想要 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"為工作表中的實際名稱。

這段程式碼必須放在VBA編輯器中對應的工作表模組中,可以使用Alt+開啟F11

相關內容