Excel: ¿Gráfico dinámico de valores usando value-stdDev como barras de error?

Excel: ¿Gráfico dinámico de valores usando value-stdDev como barras de error?

Tengo una tabla de medidas, y cada punto de datos se mide varias veces.
Me gustaría crear un gráfico dinámico que muestre el valor promedio y use la desviación estándar del valor como barras de error.

Esto es lo que tengo hasta ahora:

Hoja de Excel

  • Mi DataTable tiene una columna de categoría (Fecha y hora) y una columna de valor.
  • Tengo una tabla dinámica que me genera el valor promedio, y también me genera la desviación estándar.
  • Actualmente, mi gráfico muestra el promedio y el stdDev como series de datos individuales.

Me gustaría tener la serie stdDev (naranja)noen el gráfico, pero tiene la serie promedio (azul) para mostrar barras de error. Estas barras de error deben tener el tamaño de los valores stdDev.

Puedo encontrar la opción de la barra de error, pero no veo una manera de asignar el StdDev (calculado) como magnitud.

Las opciones dadas, sólo utilizan la desviación estándar.a través de los valores de la tabla dinámica.

No es lo que quiero

Esto esnolo que quiero.

Pero si voy a las opciones avanzadas:

Opciones

También solo puedo encontrar un método para especificar unfijadovalor personalizado.

ingrese la descripción de la imagen aquí

Si bien el campo parece permitir seleccionar un rango de tabla, solo puedo hacerlo para unespecíficosección. es decir, puedo seleccionar los valores correspondientes en la tabla dinámica y obtener mi gráfico:

Solución, pero no del todo.

Las barras de error ahora están como las quiero, pero cualquier cambio en la estructura de la tabla dinámica, es decir, agregar nuevas fechas, pierde la conexión:

No

Quiero que las barras de error utilicen siempre el valor calculado de la misma fila. ¿Se puede hacer esto?

(Y también quiero ocultar la serie naranja, pero eso es secundario).

Respuesta1

Usando VBA, crearía uneventoque se activa cada vez que se actualiza algo en el gráfico dinámico. En este caso, escribiría un código que complete las referencias de celda correctas para las barras de error. Entonces, cada vez que se actualiza el gráfico dinámico, las referencias de la barra de error también se actualizan.

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

Es posible que deba cambiar el nombre del pivote "PivotTable1"y el nombre del gráfico "Chart 1"por los nombres reales en su hoja.

Este código debe colocarse dentro del módulo de hoja correspondiente en el editor VBA, que se puede abrir con Alt+ F11.

información relacionada