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

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

Eu tenho uma tabela de medidas, com cada ponto de dados sendo medido várias vezes.
Gostaria de criar um gráfico dinâmico que exiba o valor médio e use o desvio padrão do valor como barras de erro.

Isto é o que tenho até agora:

Planilha EXCEL

  • Meu DataTable possui uma coluna de categoria (Data e Hora) e uma coluna de valor.
  • Tenho uma Tabela Dinâmica que me gera o valor médio e também gera o desvio padrão
  • Atualmente, meu gráfico mostra a média e o stdDev como séries de dados individuais.

Eu gostaria de ter a série stdDev (laranja)nãono gráfico, mas tem a série média (azul) para mostrar barras de erro. Essas barras de erro devem ter o tamanho dos valores stdDev.

Posso encontrar a opção da barra de erros, mas não vejo uma maneira de atribuir o StdDev (calculado) como magnitude.

As opções fornecidas usam apenas o desvio padrãoentre os valores da tabela dinâmica.

Não é o que eu quero

Isso énãoo que eu quero.

Mas se eu for para as opções avançadas:

Opções

Também só consigo encontrar um método para especificar umfixovalor customizado.

insira a descrição da imagem aqui

Embora o campo pareça permitir a seleção de um intervalo de tabelas, só posso fazer isso para umespecíficoseção. ou seja, posso selecionar os valores correspondentes na tabela dinâmica e obter meu gráfico:

Solução, mas não exatamente

As barras de erro agora estão como eu quero, mas qualquer alteração na estrutura da tabela dinâmica, ou seja, adicionar novas datas, perde a conexão:

Não

Quero que as barras de erro sempre usem o valor calculado da mesma linha - isso pode ser feito?

(E também quero esconder a série laranja, mas isso é secundário.)

Responder1

Usando VBA, eu criaria umeventoque é acionado sempre que algo no gráfico dinâmico é atualizado. Nesse caso, eu escreveria um código que preenchesse as referências de células corretas para barras de erro. Portanto, sempre que o gráfico dinâmico é atualizado, as referências da barra de erro também são atualizadas.

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

Pode ser necessário alterar o nome do pivô "PivotTable1"e o nome do gráfico "Chart 1"para os nomes reais em sua planilha.

Este código deve ser colocado dentro do módulo da planilha correspondente no editor VBA, que pode ser aberto com Alt+ F11.

informação relacionada