Excel: value-stdDev를 오류 막대로 사용하여 값의 피벗 차트를 작성하시겠습니까?

Excel: value-stdDev를 오류 막대로 사용하여 값의 피벗 차트를 작성하시겠습니까?

각 데이터 포인트가 여러 번 측정되는 측정 테이블이 있습니다.
평균값을 표시하고 값의 표준 편차를 오류 막대로 사용하는 피벗 차트를 만들고 싶습니다.

이것이 내가 지금까지 가지고 있는 것입니다:

엑셀 시트

  • 내 DataTable에는 하나의 범주 열(날짜 및 시간)과 하나의 값 열이 있습니다.
  • 평균값을 생성하고 표준 편차도 생성하는 피벗 테이블이 있습니다.
  • 내 차트에는 현재 평균 및 표준 편차가 개별 데이터 시리즈로 표시됩니다.

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.

관련 정보