엑셀 피벗테이블, 산술평균의 함정을 피하는 방법
피벗테이블의 '계산필드' 기능으로 '가중평균'을 구하는 방법을 알아봅니다.
이 강의에서는 피벗테이블의 기본 평균 계산이 '산술평균'으로 처리되어 항목별 비중이 반영되지 않는 문제를 짚어보고, '계산필드' 기능을 활용해 가중평균을 정확하게 구하는 방법을 다룹니다. 매출이나 판가처럼 수량과 가격이 모두 다른 데이터를 집계해야 하는 실무 보고서에서, 평균값의 함정에 빠지지 않고 신뢰할 수 있는 분석 결과를 만들 수 있도록 단계별 절차를 정리합니다.
실습자료를 준비했어요
수업에서 사용한 예제 파일과 보충 자료를 한 곳에 정리했습니다!👇
강의 설명
엑셀 피벗테이블은 간단하면서도 다양한 기능을 제공하는 매우 강력한 분석 도구입니다. 그러나 잘못 사용하면 데이터 해석에 큰 오류를 일으킬 수 있는 양날의 검이 되기도 합니다. 몇 주 전, 한 중견기업의 부장님께 다음과 같은 메일을 한 통 받았습니다.
...(중략)... 자사의 월 평균 판가를 전년도와 비교하여 데이터 분석 후 익월·익익월 판매 가격을 수립하고 있습니다..
...(중략)... 재작년까지는 주문수량에 따라 고정가로 판매했지만, 작년부터 테스트 고객을 도입하고 고객 규모별 등급을 반영하여 판가를 책정했습니다.. 그러다 보니 수량과 단가 기준이 모두 바뀌어 데이터 분석에 문제가 생겼고... (중략) ... 샘플 고객을 고려하여 가격을 예측해야 하는데, 피벗테이블로 판매가격의 평균을 계산하니 수량은 반영되지 않고 산술평균으로만 계산됩니다..
요약하면, 작년부터 판가 책정 규칙과 고객 관리 규칙이 바뀌어 고객별 판매 수량과 가격을 모두 반영한 평균을 구해야 하는 상황인데, 피벗테이블에서는 '산술평균'으로만 계산되어 데이터에 오차가 발생한다는 내용이었습니다.
평균에는 산술평균, 가중평균, 절삭평균, 기하평균, 조화평균, 이동평균 등 다양한 종류가 있습니다. 일상에서 가장 많이 사용하는 평균은 '산술평균'이지만, 아쉽게도 피벗테이블에서 기본으로 제공되는 '평균' 역시 모두 '산술평균'으로 계산됩니다.
따라서 '가중평균'을 구해야 하는 상황이라면, 피벗테이블의 '계산필드' 기능을 활용하여 문제를 손쉽게 해결할 수 있습니다.
평균, 그냥 더해서 나눠주면 끝(!) 아니였나요?!...
평소에 사용하는 산술평균의 치명적인 오류
평균은 간단해 보이지만, 보는 시각에 따라 다양하게 해석되는 매우 까다로운 통계값입니다.
앞서 말씀드린 것처럼 평균에는 여러 종류가 있고, 일상에서 말하는 평균은 일반적으로 '산술평균'을 가리킵니다. 그러나 실제 업무 환경에서는 산술평균 외에도 자주 사용되는 평균이 두 가지 더 있습니다.
바로 가중평균과 기하평균입니다.
- 가중평균 : 더 많은 비중을 차지하는 항목에 더 높은 가중치를 적용합니다.
예를 들어 사과를 100원에 10개, 200원에 100개 판매했다면, 200원 쪽에 더 높은 가중치를 두어 평균을 계산합니다. - 기하평균 : 합의 평균이 아닌 '곱의 평균'을 구할 때 사용합니다.
예를 들어 3년간 연도별 성장률이 10%, 12%, 15%였다면, 평균 성장률은 ³√(10%×12%×15%) 로 계산합니다.
그렇다면 비즈니스 현장에서 산술평균이 왜 문제가 될까요? 아래 예제를 통해 살펴보겠습니다.

위 매출 기록에서 제품의 평균 판가는 750원입니다. 500원과 1,000원이라는 가격에 각각 100개씩 판매했으므로, 두 가격이 동일한 비중으로 평균에 반영됩니다.
= 750
잘못된 산술평균의 예제
이번에는 두 번째 예제를 살펴보겠습니다. 500원에 100개, 1,000원에 200개를 판매한 경우, 평균은 어떻게 계산되어야 할까요?

1,000원짜리가 200개로 더 많이 판매되었으므로, 더 높은 가중치를 두어 평균을 계산해야 합니다. 이렇게 비중을 반영해 구하는 평균을 '가중평균'이라고 합니다. 위 예제에서 가중평균을 구하는 공식은 다음과 같습니다.
= { (100*500) + (200*1000) } / (100+200)
= { 250,000 } / 300
= 833
다시 말해, 총금액(=개수×판가의 합계)을 총개수(=개수의 합계)로 나누면 가중평균이 계산됩니다. 엑셀에서는 SUMPRODUCT 함수와 SUM 함수를 활용하면 가중평균을 손쉽게 구할 수 있습니다.
= SUMPRODUCT(개수범위, 판가범위) / SUM(개수범위)
= 총금액 / 총개수
우리가 잘못 사용하고 있는 '피벗테이블 평균'의 함정
피벗테이블에는 다양한 값 필드 요약 방식이 있습니다. 기본값은 '합계'로 표시되지만, 필요에 따라 '개수', '평균', '최대값' 등 선택한 항목을 다양한 방식으로 표현할 수 있습니다.

아래 예제를 통해 피벗테이블로 '평균'을 계산할 때 어떤 오류가 발생할 수 있는지 살펴보겠습니다.
- 예제파일의 T4:X11 범위를 선택한 뒤, 단축키 ALT + N + V를 눌러 피벗테이블을 생성합니다.

- 피벗테이블의 '필드 설정'에서 '판가'를 값 영역으로 끌어옵니다.

- 값 필드의 '판가'를 클릭한 뒤 [값 필드 설정]을 선택합니다.

- [필드의 계산 유형]에서 '평균'을 선택한 뒤 [확인] 버튼을 클릭합니다.

- 다시 피벗테이블의 '필드 목록'에서 '날짜' 필드를 행 영역으로 끌어옵니다.

- 계산 결과를 보면 모든 월의 '평균 판가'가 750원으로 계산된 것을 확인할 수 있습니다.

- 2월의 경우를 살펴보겠습니다. 항목별 판매 개수가 다르므로 '산술평균'으로 계산하면 올바른 평균이 나오지 않습니다. 따라서 '가중평균'으로 평균 판가를 계산해야 합니다.

왜 이런 결과가 나올까요?
그 이유는 피벗테이블의 '필드 계산 유형'에서 평균이 '산술평균'으로 계산되기 때문입니다.
따라서 상황에 따라 '가중평균'으로 계산해야 한다면, 피벗테이블의 '계산필드' 기능을 활용하여 가중평균을 손쉽게 구할 수 있습니다.
이제 피벗테이블에서 가중평균을 계산하는 방법을 단계별로 살펴보겠습니다.
- 해당 피벗테이블을 선택한 뒤, [피벗테이블 분석] - [필드 항목 및 집합] - [계산필드]를 클릭합니다.

- 판가는 '금액 ÷ 개수'로 계산됩니다. 따라서 아래 수식으로 '가중평균'이라는 이름의 계산필드를 추가합니다.
금액 / 개수

- 피벗테이블에 가중평균 필드가 추가되었습니다.

- 마지막으로 '가중평균' 필드를 우클릭한 뒤 [필드 표시 형식]으로 이동하여 아래 사용자지정서식으로 표시 형식을 변경하면 결과를 더욱 깔끔하게 정리할 수 있습니다.
#,##0
이 외에 다양한 사용자지정서식 목록은 관련 포스트를 참고하세요.
만약 제품별 그리고 월별 가중평균 흐름을 보고 싶으면 어떻게 해야하나요?
해결하셨다니 다행입니다. 남은 하루도 행복한 하루 보내세요!
표에있는 데이터를 수정하여도 피벗테이블상에 데이터는 수정이 안되더라고요
기존 피벗테이블을 삭제하고 다시 피벗테이블을 작성을 했는데.
제가 잘못을 한건지??? 아니면 원래 이렇게 해야하는건지??? 궁금합니다
단축키 Ctrl + Alt + F5 키를 눌러 데이터를 새로고침 해보시겠어요?^-^
고맙습니다. ~~^^
일자를 필터로 지정을 하니 모든 일자가 다 나와서 합계를 보는게 어려워요...
혹시 년도별로 볼 수 있게 하는 방법이 있나요?? 아니면 해당 내용에 대한 강의가 있으면 알려주세요
이 명령을 실행하려면 적어도 두 행의 원본 데이터가 있어야 합니다....
고급 필터를 사용하고 있으면 적어도 두 행의 데이터가 들어 있는 셀.....
피벗테이블을 만들기 전에 범위를 올바르게 선택하셨는지 확인해보시겠어요?
날자~금액까지 범위를 전체 선택하신 후 피벗테이블을 생성하셔야 합니다.
감사합니다 ^^
신규회원 -> 일반회원 등업은 가입인사 작성 후 댓글 2회를 작성하시면 자동등업됩니다.
각 포인트별 회원등급은 아래 링크를 참고해보시겠어요?
https://www.oppadu.com/ep포인트-관련/#tab-what-ep-rank
감사합니다^^