Excel:使用值-标准差作为误差线的值的数据透视图?

Excel:使用值-标准差作为误差线的值的数据透视图?

我有一张测量表,每个数据点都经过多次测量。
我想创建一个数据透视图,显示平均值并使用该值的标准差作为误差线。

这是我目前所拥有的:

EXCEL表格

  • 我的数据表有一个类别列(日期和时间)和一个值列。
  • 我有一个数据透视表,它可以生成平均值,也可以生成标准差
  • 我的图表目前显示平均值和标准差作为单独的数据系列。

我想要 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

相关内容