• 최초 작성일: 2008-07-21
  • 최종 수정일: 2008-07-21
  • 조회수: 60,809 회
  • 작성자: 엑셀러 권현욱
  • 강의 제목: 커스터머 후렌들리한(?) 꺾은선형 차트 만들기

엑셀러 권현욱

들어가기 전에 ㅡ 정약용의 엑셀식 사고(?)

어느 일간지에서 이런 기사를 보았습니다(동아일보, 2008년 7월 5일자).

역사 속의 천재들은 생각하는 방식이 달랐다...(중략)... 다산은 200년 전에 이미 컴퓨터 계산 프로그램인 '엑셀'의 원리를 이용했다. 정조가 아버지 사도세자릉의 식목 사업을 마무리 짓고 신하들에게 물었다.

"지난 7년간 인근 8개 고을에서 나무를 심었다. 이제 논공행상을 하련다. 심은 나무가 모두 몇 그루이며, 어느 고을이 가장 많이 심었는가?"

아무도 대답을 하지 못했지만 다산은 한 수레 분량의 공문을 순식간에 정리해 결과를 표 한 장으로 보고했다.

한양대 정민 교수의 <다산선생 지식경영법>에 당시 상황에 대한 자세한 내용이 있습니다.

임금께서 식목부를 주면서 말씀하셨다.

"7년간 여덟 고을에서 현륭원에 나무를 심은 문서가 거의 수레에 실으면 땀을 흘릴 정도로 많다. 하지만 누가 더 공로가 많은지, 심은 나무의 수는 얼마인지조차 여태 명백하지가 않다. 네가 애를 써서 번거로운 것을 걷어내고 간략함을 취하여 명백하게 하여라. 한 권을 넘기면 안된다."

신이 물러나 연표를 만들었다. 가로로 열두 칸을 만들고, 세로로 여덟 칸을 만들어 칸마다 그 수를 적었다. 총 수를 헤아려보니 소나무와 노송나무, 상수리나무 등 여러 나무가 모두 12,009,772그루였다. 표 아래에 기록하여 이를 올렸다. 임금께서 말씀하셨다.

"한 권이 아니고서는 능히 자세하게 할 수 없을 것으로 생각했다. 그런데 너는 한 장에다 소 한 마리가 땀을 흘릴만한 분량을 정리했으니, 참으로 훌륭하다."

한참을 칭찬하며 감탄하셨다.

이 일화를 통해 정조 임금이 다산을 얼마나 신뢰했는지, 다산은 또 얼마나 기존의 지식 체계에 얽매이지 않고 자유로운 발상을 했는지 잘 알 수 있습니다.

이런 일을 두고 '엑셀의 원리'라고 부르거나, '정약용의 엑셀식 사고'라고 한 기자의 표현에는 동의하지 않습니다만, 만약 엑셀을 이용하여 이런 일을 한다면 얼마 만에, 어느 정도의 분량으로 해결할 수 있을지 잠시 생각해 보았습니다.

다산은 '우리 역사에서 전무후무한 지식편집가요, 전방위적 지식경영가'입니다. 자연과학과 인문학을 아우르는 통섭(統攝, Consilience) 이론이 최근 주목 받기도 했습니다만, 한 인간이 어떻게 그토록 다양한 분야에서 탁월한 성취를 이룰 수 있었는지 불가사의일 따름입니다. 그것도 2백 수십 년 전에...



많은 양의 데이터를 시계열적으로 보고자 할 경우 '꺾은선형 차트'를 이용하면 편리합니다. 꺾은선형 차트는 시간에 따른 연속적인 데이터를 일정한 간격에 의해 표시할 수 있으므로 데이터의 흐름을 직관적으로 이해할 수 있습니다. 특히 데이터 요소의 수가 많고 시간에 따른 추세를 보고자 할 때 특히나 유용합니다.

하지만 하나의 차트에 너무 많은 계열을 표시하면 오히려 무엇을 보여주고자 하는 것인지 이해하기 어렵습니다. 다음과 같은 '볼테면 보고 말테면 마랏!' 형태의 차트는 가뜩이나 편치 않은 상사의 심기를 더욱 불편하게 만들기 딱 좋습니다.

로딩 중...

#볼테면보고 #말테면마랏

완성 예

그래서 이번 시간에는 보다 고객지향적인(일명 '커스터머 후랜들리'한) 차트를 만들어볼까 합니다. 좀 점잖게(?) 표현하면 '선택한 계열만 표시해 주는 꺾은선형 차트'쯤 될까요?.

브랜드 왼쪽에 있는 체크 박스를 클릭하면 체크 표시가 있는 브랜드만 표시되므로 계열 간의 비교가 쉬울뿐만 아니라 표시할 계열의 수를 그때 그때 상황에 맞게 조절할 수 있습니다.

로딩 중...

완성 예

체크 박스 추가하기

1. 각 브랜드 왼쪽에 체크 박스 Check Box 컨트롤을 추가합니다. [개발 도구] 탭 - [컨트롤] 그룹 - [삽입] 명령을 클릭한 다음, [양식 컨트롤] - [확인란] 컨트롤을 클릭합니다. 그 밑에 있는 ActiveX 컨트롤의 [확인란]을 선택하지 않도록 주의하세요.

로딩 중...
[개발 도구] 탭이 보이지 않으면 이렇게 해 보세요.
1) [빠른 실행 도구 모음]을 마우스 오른쪽 버튼으로 클릭하고, [리본 메뉴 사용자 지정] 명령을 선택합니다.
2) [Excel 옵션] 대화상자에서 [개발 도구] 항목 앞에 체크 표시를 합니다.
3) 이제 워크시트로 가 보면 [개발 도구] 탭이 있을 겁니다.

2. 라네즈 왼쪽에 적당한 크기로 확인란을 그려 넣습니다. '확인란 1'이라는 글자(이것을 캡션이라고 합니다)를 지워서 빈 네모 상자만 남도록 합니다.

로딩 중...

3. 나머지 브랜드 옆에도 체크 박스를 추가합니다. ALT 키를 이용하면 셀 크기와 꼭 맞도록 작성할 수 있다는 것은 아시지요?

로딩 중...

4. '라네즈' 옆에 있는 체크 박스를 마우스 오른쪽 버튼으로 클릭하고 [컨트롤 서식] 메뉴를 선택합니다. [컨트롤] 탭에서 [셀 연결] 란을 선택하고, A4 셀을 클릭한 다음 [확인] 버튼을 누릅니다.

로딩 중...

5. 마찬가지 방법으로 나머지 브랜드 옆에 있는 체크 박스들도 [셀 연결]을 지정합니다. 물론 셀의 위치는 '아이오페'는 A5 셀, 마몽드는 A6 셀 등과 같이 다르게 지정해야겠지요.

이름 정의하기

1. [수식] 탭 - [정의된 이름] 그룹 - [이름 관리자] 명령을 클릭하면 [이름 관리자] 대화상자가 나타납니다. [새로 만들기] 버튼을 클릭하면 [새 이름] 대화상자가 나타나는데 '라네즈'라는 이름을 다음과 같이 정의합니다.

로딩 중...
이름: 라네즈
참조 대상: =IF(Sheet1!$A$4,Sheet1!$D$4:$M$4,Sheet1!$D$10:$M$10)

[참조 대상] 란에 입력된 수식은 무엇을 의미할까요? 앞에서 체크 박스에 [셀 연결] 했었습니다. 체크 박스를 한 번 클릭하여 체크 표시가 되면 1(즉 TRUE), 체크 표시가 없으면 0(즉 FALSE)이라는 속성값을 갖습니다.

따라서 위 수식은 체크 박스가 눌려진 상태이면 D4:M4 영역을 참조 대상으로 하고, 그렇지 않은 경우라면 아무 값도 들어있지 않은 임의의 영역(여기서는 D10:M10)을 참조하라는 의미입니다. 위 수식은 다음과 같이 표현할 수도 있습니다.

=IF(Sheet1!$A$4=1,Sheet1!$D$4:$M$4,Sheet1!$D$10:$M$10)

2. [확인] 버튼을 클릭하면 '라네즈'라는 이름이 추가됩니다.

로딩 중...

3. [새로 만들기] 버튼을 클릭한 다음 위에서와 같은 방법으로 '아이오페'라는 이름을 추가합니다.

이름: 아이오페
참조 대상: =IF(Sheet1!$A$5,Sheet1!$D$5:$M$5,Sheet1!$D$10:$M$10)

4. '헤라'라는 이름까지 모두 추가하면 [이름 관리자] 대화상자는 다음과 같은 형태가 됩니다.

로딩 중...

다른 이름들에 대해서는 별도로 설명하지 않아도 짐작하시리라 믿습니다. 예제 파일을 열고 살펴보세요.

차트 계열 다듬기

1. C3:M9 영역의 데이터를 이용하여 [표식이 있는 꺾은선형] 차트를 작성합니다. 차트의 그림 영역을 마우스 오른쪽 버튼으로 클릭하고 [데이터 선택] 메뉴를 클릭합니다.

2. [데이터 원본 선택] 대화상자에서 '라네즈'를 선택하고 [편집] 버튼을 누릅니다. [계열 편집] 대화상자가 나타나면 [계열 값]을 다음과 같이 수정합니다.

로딩 중...

동일한 방법으로 아이오페, 마몽드, 한율 등의 계열 값을 수정합니다.

3. 여기까지 작업을 마쳤다면 이제 9부 능선을 넘은 겁니다. 이제 브랜드 옆에 있는 체크 박스를 클릭하면 체크 표시가 된 계열만 차트에 표시됩니다. 그것도 실시간으로 말이죠.

로딩 중...

4. 차트 오른쪽에 턱~하니 자리잡고 있는 범례가 신경쓰입니다. 차트 상에 보이지 않는 계열도 범례에는 모두 표시되어 있기까지 합니다. 각 계열 맨 오른쪽 항목에 브랜드명이 나타나도록 함으로써 범례를 대신하도록 하겠습니다.

일단 범례를 삭제하고, '라네즈' 계열을 클릭한 후, 맨 오른쪽 요소(7/12일자)를 클릭하면 마지막 요소만 선택됩니다. 마우스 오른쪽 버튼을 클릭하고 [데이터 레이블 추가] 메뉴를 선택하면 마지막 요소에만 '값'이 표시됩니다.

5. 이 상태, 즉 계열의 맨 오른쪽 요소만 선택된 상태에서 다시 한 번 마우스 오른쪽 버튼을 클릭하고 [데이터 레이블 서식] 메뉴를 선택합니다. [레이블 옵션]에서 [계열 이름] 앞에만 체크 표시가 나타나도록 한 후 [닫기] 버튼을 클릭합니다.

로딩 중...

6. 라네즈 계열의 맨 마지막에만 계열 이름이 표시됩니다.

로딩 중...

원본 데이터의 브랜드 옆에 있는 체크 박스를 이용하여 다른 브랜드도 나타나도록 한 다음 각 브랜드의 마지막 요소에만 계열 이름을 표시하여 완성합니다. 차트의 다른 서식은 예제 파일을 열어서 확인해 보세요.

다음 시간에 또...