반응형

본 글은 Excel 피벗테이블에서 계산 필드와 계산 항목을 추가‧관리‧활용하는 구체적 절차와 주의사항을 제시하여 현업 사용자가 데이터 분석 효율을 극대화하고 반복 계산 업무를 자동화하도록 돕는 것을 목적으로 한다.
계산 필드·계산 항목의 개념 차이
- 계산 필드는 원본 목록에 존재하지 않는 새 열을 가상으로 만들어 집계값을 계산한다. 예컨대 매출-원가와 같이 필드 간 수식을 작성한다. :contentReference[oaicite:0]{index=0}
- 계산 항목은 특정 행/열 항목 수준에서 추가 가치를 계산한다. 예컨대 BUDGET vs ACTUAL 항목에 대해 VARIANCE 항목을 만들어 두 값의 차이를 구한다. :contentReference[oaicite:1]{index=1}
- 두 기능 모두 데이터 모델에 직접 영향을 주지 않으므로 소스 테이블을 변경할 필요가 없다.
계산 필드 추가 단계별 절차
- 피벗테이블 내부 셀을 한 번 클릭한다.
- 피벗테이블 분석 ▸ 계산 ▸ 필드, 항목 및 집합 ▸ 계산 필드를 순차 선택한다. Excel 365에서는 동일 경로로 접근하며 리본 위치는 동일하다. :contentReference[oaicite:2]{index=2}
- 이름 상자에 식별하기 쉬운 필드명을 입력한다(예:
Profit
). - 수식 상자에 기존 필드를 더블클릭하여 삽입하고 연산자를 사용해 수식을 작성한다.
예시:=Sales-Cost
- 확인을 누르면 값 영역에 새 계산 필드가 자동 추가된다.
버전 | 단축 경로 | 특징 |
---|---|---|
Excel 2016 이후 | Alt → N V → A F | 피벗테이블 리본 고정, 다국어 환경 동일 |
Excel Online | 리본 ▸ 피벗테이블 ▸ 계산 ▸ 필드 | 일부 고급 함수(예: GETPIVOTDATA) 미지원 :contentReference[oaicite:3]{index=3} |
계산 항목 추가 단계별 절차
- 계산 항목을 삽입하려는 필드의 임의 항목을 선택한다.
- 피벗테이블 분석 ▸ 계산 ▸ 필드, 항목 및 집합 ▸ 계산 항목을 클릭한다. :contentReference[oaicite:4]{index=4}
- 이름 상자에 항목명을 입력하고 수식 상자에 계산식을 작성한다.
예시(부서 합계 비교):=North+South
- 확인 후 행/열 레이블에 새 항목이 나타난다.
계산 필드·항목 관리(수정·제거·목록 출력)
- 동일 메뉴에서 관리 ▸ 수식 ▸ 목록 만들기를 선택하면 모든 계산 필드와 항목을 새 워크시트에 나열한다. :contentReference[oaicite:5]{index=5}
- 필드를 수정하려면 필드 이름 선택 ▸ 수정, 삭제하려면 제거를 클릭한다.
- 항목은 해당 필드를 선택 후 계산 항목 삭제로 제거한다.
제한 사항 및 성능 고려
제한 구분 | 계산 필드 | 계산 항목 |
---|---|---|
지원 연산 | +, −, *, /, IF 등 대부분의 산술·논리 함수 | +, −, *, / 만 지원(함수 사용 불가) :contentReference[oaicite:6]{index=6} |
갯수 | 이론상 255개, 표시 제한 10개(필드 목록) :contentReference[oaicite:7]{index=7} | 필드당 100개 이하 권장 |
데이터 모델 사용 시 | Power Pivot DAX Measure 권장 | 지원 안 됨 |
성능 | 대용량 집계 시 계산 필드보다 DAX가 빠르다. | 항목 수가 늘수록 행/열 교차 수가 기하급수로 증가한다. |
실무 예시: 월별 이익률 분석
소스 필드: 매출(Sales), 원가(Cost)
1단계 : 피벗테이블 → 행: 월(Month), 값: Sales(합계), Cost(합계)
2단계 : 계산 필드 추가 → 이름: Profit, 수식: =Sales-Cost
3단계 : 계산 필드 추가 → 이름: Margin, 수식: =Profit/Sales
4단계 : 값 표시 형식 → Margin → 백분율 두 자리
5단계 : 차트 삽입 → 콤보 그래프로 Sales(막대)+Margin(꺾은선) 시각화
VBA 매크로로 계산 필드 대량 삽입 자동화
'매개변수 배열로 다중 계산 필드를 생성한다.
Sub AddCalcFields()
Dim pvt As PivotTable: Set pvt = ActiveSheet.PivotTables(1)
Dim arr
arr = Array("Profit:=Sales-Cost", "Margin:=Profit/Sales", "Tax:=Sales*0.1")
Dim i As Long, nm$, fs$
For i = LBound(arr) To UBound(arr)
nm = Split(arr(i), ":=")(0)
fs = Split(arr(i), ":=")(1)
On Error Resume Next '이미 존재 시 건너뜀
pvt.CalculatedFields.Add Name:=nm, Formula:="=" & fs
On Error GoTo 0
Next i
pvt.PivotCache.Refresh
MsgBox "계산 필드가 추가되었다.", vbInformation
End Sub
문제 해결 체크리스트
점검 항목 | 예/아니오 | 조치 |
---|---|---|
피벗테이블이 OLAP/데이터 모델 기반인가? | 계산 필드 대신 Power Pivot DAX Measure 사용 | |
수식에 계산 항목 허용되지 않는 함수 포함? | 단순 4칙 연산으로 변환하거나 Power Query 활용 | |
필드명이 공백·특수문자 포함? | '\' 등 이스케이프 문자 제거 후 재시도 | |
값 영역에 0 또는 공백만 표시? | 수식·필드 집계 방식 확인, 데이터 새로 고침 | |
필드 목록에 계산 필드 일부 누락? | 10개 초과 시 사용자 지정 정렬 또는 서브토탈 숨기기 |
FAQ
Q. “필드, 항목 및 집합” 메뉴가 비활성화되어 있다.
A. 현재 피벗테이블이 OLAP 큐브·데이터 모델에 연결된 경우이다. 이때는 계산 필드 대신 Power Pivot ▸ 측정값을 사용해야 한다.
Q. 계산 필드를 추가했지만 값이 0으로만 표시된다.
A. 수식에 분모 필드가 값 영역에 포함되지 않았을 가능성이 있다. 모든 참조 필드를 값 영역에 배치한 후 새로 고침한다. :contentReference[oaicite:8]{index=8}
Q. Excel Mac 버전에서 계산 항목이 보이지 않는다.
A. 현재 Mac Excel은 ActiveX 기반 대화 상자를 지원하지 않는다. 가상 머신에서 Windows Excel을 사용하거나 Power Pivot DAX Measure로 대체한다.
Q. 계산 항목을 삭제했는데도 피벗테이블 크기가 줄어들지 않는다.
A. 캐시 새로 고침이 필요하다. 피벗테이블 분석 ▸ 데이터 ▸ 새로 고침을 실행하거나
pvt.PivotCache.Refresh
메서드를 호출한다.
반응형
'#2 엑셀 오류 가이드' 카테고리의 다른 글
엑셀에서 여러 시트 데이터 통합 피벗테이블 만드는 방법 (2) | 2025.07.03 |
---|---|
엑셀에서 피벗테이블 슬라이서가 작동하지 않을 때 (0) | 2025.07.02 |
엑셀에서 피벗테이블 항목 필터링 문제 해결 (1) | 2025.07.01 |
엑셀에서 피벗테이블 필드 목록이 사라졌을 때 해결 (5) | 2025.06.30 |
엑셀에서 피벗테이블 새 데이터가 반영되지 않을 때 (0) | 2025.06.29 |