본문 바로가기

Excel

피벗테이블 -개요

데이터 분석의 기본 피벗 테이블


현업에서 엑셀을 사용함에 있어 함수보다 최우선적으로 반드시 알아야 하는 기능이 바로 피벗테이블이다. 피벗테이블을 쓰지 않고 엑셀을 사용한다는 말 자체가 어불성설일 정도로 엑셀의 가장 핵심 기능을 꼽으라고 한다면 주저 없이 피벗테이블이라고 말할 정도로 피벗테이블이 엑셀에서 차지 하는 비중은 정말 크다고 말 할수 있다.

피벗 테이블은 원본 데이터를 기준으로 손쉽게 여러 측면에서 분석해 주는 편리한 도구이자 그 자체로 엑셀을 통해서 가장 많이 쓰는 함수를 손 쉽게 처리해 준다. 이번 포스트에서는 피벗 테이블을 사용하지 않았던 사용자를 대상으로 하는 개요에 해당하는 기본적인 내용을 다루려고 한다.

피벗 테이블의 가장 큰 장점은 원본 데이터를 변형없이 다양한 측면에서의 분석이 가능 하다는 것이다. 피벗 테이블이 없다면 여러 함수와 수식을 사용해야 하는 번거로움을 간단하게 처리 해 준다. 물론 강력한 피벗테이블의 장점에도 불구하고 단점이 없는 것은 아니다. 몇 가지 주의 해야 할 사항은 나중에 다시 언급 하기로 하겠다. 이번엔 우선 가장 기본이 되는 사항에 대해서만 살펴보기로 하겠다.

1. 피벗테이블을 작성 하기 전 반드시 원본 데이터를 표로 만들어야 한다.

매번 강의때 마다 강조하는 사항이다. 왜 원본데이터를 표로 만들어야 하는지 두가지 측면에서 살펴볼수 있다. 현업에서 원본데이터는 지속적인 관리가 필요한 데이터다. 즉 데이터가 종으로 쌓인다는 것을 의미한다. 일반적으로 데이터라고 하면 표 형태의 데이터 구조를 갖는것을 의미 한다. 하지만, 많은 사용자들이 원본 데이터에 셀 병합을 하고 열(데이터베이스 용어로는 필드라고 한다.) 생성하고 두개 이상의 속성을 갖는 값을 배치시킨다. 왜 피벗테이블을 생성하기전에 원본 데이터를 표로 만들어야 하는가?

데이터는 아래로 계속 쌓이게 되고 우리가 피벗 테이블을 통해서 분석하는 관점은 데이터가 쌓인다고 해서 그 관점이 변하지는 않는다. 즉, 데이터 원본의 범위가 변하게 된다고 하더라고 우리가 보는 관점은 변화되지 않는다. 만약 원본데이터를 범위를 기준으로 피벗테이블을 생성하게 된 후 데이터가 추가 된다고 하면 우리는 다시 피벗테이블의 원본 범위를 변경 시켜줘야 하는 번거로움이 생긴다. 하지만, 데이터 원본을 표로 만들고 그 표를 기준으로 피벗 테이블을 생성한다면 우리는 간단히 피벗 테이블에서 데이터 원본 새로고침을 통해서 추가된 데이터에도 똑같은 피벗테이블의 로직을 적용 할 수 있다.

여기서 원본 데이터를 표로 만들때 장점이 두가지가 발생하게 되는 것이다. 데이터 추가시 새로고침을 통해서 원본 데이터 범위를 변경하지 않아도 된다는 점 이외의 장점은 원본 데이터를 보다 간결하게 관리 할 수 있다는 것이다. 원본을 표로 만들기 위해서는 셀 병합이 되어 있거나 양식형태로 데이터를 관리 할때는 불가능 하게 된다. 아주 단백한 말그대로 Raw Data가 되는 것이다.  분석이 필요한 데이터가 갖는 가장 아름다운 형태는 글머리와 내용으로 이루어진 표로된 형태이다. 표의 구조를 잘 생각해 보자 필드명과 해당 필드의 내용에 맞는 데이터만 있을 뿐이다. 셀 병합을 할 필요도 없고 테두리를 치거나 셀 배경색을 주거나 문자를 가운데 정렬할 필요도 없다. 왜? 데이터니까! 분석 할 데이터에 왜 쓸데 없는 군더더기를 만드는가? 

보고를 위한 데이터 정리는 양식에 데이터를 형식에 맞게 정리하여 집어 넣어야 한다. 하지만, 분석해야 할 데이터에 그러한 서식은 쓸데 없는 사치이고 불필요한 작업이다.

왜 이런 간단한 개념에 대해서 이렇게 많은 주석을 늘어 놓는지는 현업에서 얼마나 많은 사람들이 양식과 데이터를 구분하지 않고 혼용해서 쓰는지 또한 그로인해 얼마나 많은 불편함이 발생하는지 생각보다 엑셀 데이터를 깔끔하게 사용하는 사용자가 그리 많지 않다.

다시 한번 강조 하지만, 피벗 테이블을 생성하기 전에 반드시 원본 데이터를 표를 만들어야 한다. 그 이유는 데이터가 추가 되었을때 관리를 보다 편하게 하기 위함과 데이터를 간결하게 만들기 위함 이다.

2.함수 보다는 우선 먼저 피벗 테이블을 생각하자.

일반적으로 엑셀하면 대부분 함수를 먼저 떠올린다. 그런데 한번 잘 생각해 보자 우리가 처음 엑셀을 사용하면서 함수라는 녀석에 익숙해 지기까지 얼마나 많은 시간이 소요되는지 그리고, 현업에서 업무 해결을 위해서 하나의 함수만으로 해결되는 경우가 얼마나 있는지? 함수를 학습하고 함수를 통해서 실제 업무에 활용하기 전까지 생각보다 많은 시간이 소요된다. 효율성이 그리 높지가 않다. 하지만, 대부분 엑셀하면 함수를 떠올린다. 함수가 필요하지 않다는 것이 아니다. 함수만이 최선의 방법이 아니라는 것이다. 다소 단계를 거치더라도 빠르게 적용할 수 있다면 실수하지 않고 검증된 방법을 쓰는 것도 나쁘지 않다는 것이다. 이후 함수가 익숙해 졌다면 그때 다양하게 적용하면 된다. 엑셀을 처음 사용하는 사람이 아직 익숙하지 않은 사람이 처음부터 무리하게 함수를 향해 나가다 보면 오히려 하지 않는것 보다 못한 효과를 내게 된다. 충분히 엑셀이 익숙해지고 편해지면 자연스럽게 함수를 향해 가게된다. 그리고, 엑셀의 버전업이 계속 진행 되면서 굳이 함수를 쓰지 않고도 그와 비슷한 그 이상의 효과를 나타내는 기능들이 추가 되고 있다. 가장 대표적인 기능이 바로 파워쿼리이다. 장담 하건데 파워쿼리만으로도 얼마든지 함수 그 이상의 기능을 대치 할 수 있다. (물론 파워쿼리도 깊게 들어가게 되면 함수의 개념은 필요하다.)


개요 치고는 너무 길어 졌다. 

실무 강의를 하면서 많은 부분 데이터 원본 관리만 잘해도 해결되는 부분들이 늘 안타깝게 느껴져서 평소의 안타까움이 장황한 글을 쓰게 만들었다. 돌이켜 보면 그럴만도 한것이 오래동안 쌓여온 어쩔 수 없는 부분도 있으니 이제 부터라도 그러한 부분들이 하나씩 개선이 되었으면 좋겠는 바램에 오바아닌 오바를 한거 같다.


정리하면,

피벗 테이블은 다양한 관점에서 데이터를 분석하기 위해 좋은 도구이다.

피벗을 만들기 위한 데이터 원본은 데이터가 추가 될때 관리를 편리하게 하기 위해서 반드시 표로 만들어야 한다.

함수를 쓰기전에 먼저 피벗 테이블에서 구현이 간단하게 가능한지를 우선 먼저 생각해야 한다.


이후 이어질 피벗 테이블의 포스트를 통해서 차근 차근 피벗 테이블에 대한 핵심 기능을 정리해 가도록 하겠습니다.^^