Excel 피벗 테이블을 다른 피벗 테이블의 데이터 소스로 사용
데이터 소스로 원시 테이블을 사용하는 Excel 피벗 테이블이 있습니다.이 피벗 테이블은 여러 행의 그룹화와 합계를 수행합니다.
이제 이 새로운 피벗 테이블의 결과를 새로운 피벗 테이블의 데이터 소스로 사용하여 이 데이터를 추가로 수정하려고 합니다.
엑셀로 가능한가요?'네스트된 피벗 테이블'이라고 부르셔도 될 것 같습니다.
첫 번째 피벗 테이블을 만듭니다.
왼쪽 위 첫 번째 셀을 선택합니다.
오프셋을 사용하여 범위 이름 만들기:
OFFSET(Sheet1!$A$3,0,0,COUNTA(Sheet1!$A:$A)-1,COUNTA(Sheet1!$3:$3))F3를 사용하여 범위 이름을 데이터 소스로 사용하여 두 번째 피벗을 만듭니다.
첫 번째 피벗에서 행 또는 열의 수를 변경하면 피벗을 새로 고친 후 두 번째 피벗이 업데이트됩니다.
GFGDT
새 시트(새 피벗 테이블을 만들 위치)에서 키 조합(Alt+D+P)을 누릅니다.데이터 원본 옵션 목록에서 "Microsoft Excel 데이터베이스 목록"을 선택합니다.[Next]를 클릭하여 소스로 사용할 피벗 테이블을 선택합니다(필드의 실제 헤더부터 선택).이 범위는 다소 정적이기 때문에 소스 피벗을 새로 고치고 크기를 변경하면 범위도 다시 조정해야 합니다.이게 도움이 됐으면 좋겠다.
최종 목표는 원래 피벗 테이블 내에 고유한 값을 표시하는 것입니다.
예를 들어 OrderNumber, OrderDate, OrderItem, OrderQty를 사용하여 데이터를 설정할 수 있습니다.
첫 번째 피벗 테이블에는 OrderDate와 OrderQty의 합계가 표시되며, 동일한 피벗에 고유 주문 수가 표시됩니다.표준 피벗 테이블에서는 이 작업을 수행할 수 없습니다.
이 작업을 수행하려면 Office 2016이 필요합니다(또는 Pover Pivot이 작동할 수도 있습니다).office 2016에서 데이터> 삽입> 피벗 테이블> 체크박스를 켜고 [데이터 모델에 이 데이터 추가]를 선택합니다.
그런 다음 그룹화 방법을 고유(카운트)로 선택할 수 있습니다.
제안된 대로 피벗 테이블의 내용을 변경하고 값으로 붙여넣을 수 있습니다.은 'Go To'입니다.Insert->create pivot table이제 입력 데이터 필드의 대화 상자에서 이전 피벗 테이블의 셀을 선택합니다.
이렇게 하려면 먼저 피벗을 값으로 변환해야 합니다.
- 하위 합계를 제거합니다.
- 행 항목을 반복합니다.
- 값 복사/붙여넣기
- 새 피벗 테이블 삽입
@nutsch가 시사하는 바와 같이 Excel은 직접 필요한 작업을 수행하지 않으므로 먼저 데이터를 피벗 테이블에서 다른 곳으로 복사해야 합니다.그러나 값을 복사한 다음 붙여넣기하는 것보다 여러 가지 목적으로 값을 복사하는 숨김 열 또는 전체 숨김 시트를 만드는 것이 좋습니다.복사 붙여넣기 방식은 원래 피벗 테이블을 새로 고친 경우 그다지 유용하지 않습니다.
예를 들어, Sheet1에 원래 피벗 테이블이 포함되어 있는 경우:
- 를 만들고 Sheet2를 넣습니다.
=Sheet1!A1시트 2★!A1 - 원래 피벗 테이블의 크기와 일치하도록 필요한 만큼 Sheet2의 셀 주위에 이 공식을 복사합니다.
- 원래 피벗 테이블이 새로 고쳐질 때마다 크기가 변경될 수 있다고 가정하면 Sheet2의 공식을 복사하여 원래 피벗 테이블이 사용할 수 있는 잠재적 영역 전체를 커버할 수 있습니다. 현재 있는 되지만, 를 피할 수 .
=IF(Sheet1!A1="","",Sheet1!A1)★★★★★★ 。 - Sheet2 내의 범위를 기반으로 새 피벗 테이블을 만든 다음 Sheet2를 숨깁니다.
개인적으로는 SQL Server 소스를 조회하는 피벗 테이블이 있고 타임라인 슬라이서를 사용하여 결과를 날짜 범위로 제한한 다음 피벗 결과를 다른 테이블로 요약하고 싶었습니다.
'source' 피벗 테이블을 선택하고 'SourcePivotData'라는 이름의 범위를 만들었습니다.
지정된 범위를 소스로 사용하여 요약 피벗 테이블을 만듭니다.
소스 피벗 테이블의 워크시트 이벤트에 다음 코드를 입력합니다.
Private Sub Worksheet_PivotTableUpdate(ByVal Target As PivotTable)
'Update the address of the named range
ThisWorkbook.Names("SourcePivotData").RefersTo = "='" & Target.TableRange1.Worksheet.Name & "'!" & Target.TableRange1.AddressLocal
'Refresh any pivot tables that use this as a source
Dim pt As PivotTable
Application.DisplayAlerts = False
For Each pt In Sheet2.PivotTables
pt.PivotCache.Refresh
Next pt
Application.DisplayAlerts = True
End Sub
잘 먹힌다! :)
이게 내가 전에 했던 방법이야.
- 소스 피벗 테이블 오른쪽에 더미 열 "X"를 놓습니다.
- 셀을 클릭하여 피벗 테이블을 시작합니다.
- 대화 상자가 나타나면 데이터 범위를 편집하여 피벗 테이블을 포함할 수 있습니다.
- 이 경우 소스 테이블을 먼저 새로 고친 후 보조 피벗 테이블을 새로 고칩니다. 또는 모두 두 번 새로 고칩니다.
오프셋 옵션이 마음에 듭니다.먼저 그 범위를 만들고 -1 대신 -3을 했습니다.그리고 그 새로운 범위를 내 새 피벗 테이블에 사용했습니다.첫 번째 피벗이 변경되면 두 번째 피벗은 새 행(또는 그 이하 행)을 픽업합니다.
언급URL : https://stackoverflow.com/questions/20333070/use-excel-pivot-table-as-data-source-for-another-pivot-table
'source' 카테고리의 다른 글
| MS Excel 데이터를 SQL Server에 붙여넣기 (0) | 2023.04.19 |
|---|---|
| 푸시되지 않은 Git 커밋 보기 (0) | 2023.04.19 |
| Xcode 5: 코드 서명 자격 오류 (0) | 2023.04.19 |
| 파일에서 Bash 배열로 줄 읽기 (0) | 2023.04.19 |
| Objective-C의 NSMutableArray에서 중복된 값을 제거하는 가장 좋은 방법은 무엇입니까? (0) | 2023.04.19 |