- 최초 작성일: 1999-08-24
- 최종 수정일: 2026-09-29
- 조회수: 48 회
- 작성자: 권현욱 (엑셀러)
- 강의 제목: 동적 차트 만들기
들어가기 전에
오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.
예고해 드린대로 이번 강좌에서는 다이나믹 차트에 대해 공부해 보겠습니다.(이것은 제가 붙여본 이름입니다. 따라서 책이나 사전 찾아봐도 없습니다 ^^)
"다이나믹(또는 동적) 동적차트"라고 하니까 뭔가 거창하고 어려운 것으로 생각하실지 모르겠습니다만 크게 어려운 건 아니고, 말그대로 동적(움직이는, 즉 사용자의 입력에 의해 수시로 변화하는)인 차트라고 생각하시면 되겠습니다.
아래의 <표>로 차트를 만들면 그림과 비슷한 모양의 차트가 만들어 질 것입니다(기본적인 차트 작성법은 따로 설명을 드리지 않습니다). 동적차트는 <표>에서 4월,5월,6월 등과 같이 월별 실적을 계속 입력하면 일일이 범위를 재지정하지 않고서도 차트와 자동으로 연결이 되어 차트 모양이 변경되는 것을 말합니다.
이렇게 하기 위해서는 지난 강좌에서 설명드린 "이름 정의(Naming)" 방법과, 그 이전 강좌에서 설명드린 Offset() 함수에 대한 지식이 있어야 가능합니다. 초보님들은 '아! 아! 그런게 있구나' 정도만 생각하고 끝까지 주욱 읽어내려 가세요).
동적 차트 만들기
핵심 요약
- 동적 차트는 새 월별 데이터를 추가해도 차트 범위를 다시 지정하지 않고 자동으로 확장되게 만든 차트입니다.
- OFFSET과 COUNTA로 월과 각 지점의 가변 범위를 만들고 각각 이름을 정의합니다.
- 차트 계열 수식의 범위 참조를 정의된 이름으로 바꾸면 데이터 추가와 동시에 차트가 갱신됩니다.
<표>
| 강동 | 강서 | 강남 | 강북 | |
| 1월 | 400 | 430 | 500 | 480 |
| 2월 | 380 | 410 | 450 | 500 |
| 3월 | 430 | 380 | 510 | 460 |
이제 동적차트를 만들어 보겠습니다. 아래의 순서대로 따라해 보세요.
(1) 임의의 시트(여기서는 "동적차트"라고 이름을 지었음)에 <표>의 내용을 입력(또는 복사) 합니다.
(2) 차트를 그립니다.
(3) "삽입-이름-정의" 메뉴를 선택한 후, 아래와 같이 다섯 개의 이름을 정의합니다.
(이 때 참조영역 부분은 마우스로 지정하는 것이 아니고 "참조"란에 손으로 직접 입력합니다).
| 번호 | 정의된 이름 | 참조 영역 |
| ① | 월 | =offset(동적차트!$a$3,0,0,counta(동적차트!$a:$a)-1) |
| ② | 강동 | =offset(동적차트!$b$3,0,0,counta(동적차트!$b:$b)-1) |
| ③ | 강서 | =offset(동적차트!$c$3,0,0,counta(동적차트!$c:$c)-1) |
| ④ | 강남 | =offset(동적차트!$d$3,0,0,counta(동적차트!$d:$d)-1) |
| ⑤ | 강북 | =offset(동적차트!$e$3,0,0,counta(동적차트!$e:$e)-1) |
참고: 원문에는 (4)~(7)에서 설명하는 수식 입력줄 화면 그림이 포함되어 있지 않습니다.
(4) 5개의 이름을 다 지정하였으면 아래 그림처럼 강동특약점의 막대그래프를 선택한 후 수식입력바를 보세요.
(5) 수식입력바에서 아래 그림의 반전된 부분만큼 선택한 후 이 부분을 "월"이라고 바꿉니다(물론 따옴표는 빼고…)
(6) 그리고 나서 그 다음 뒷부분은 또 아래와 같이 범위를 잡고 "강동"이라고 바꾸어 줍니다. 좀 복잡해 보이시지요?
(7) 이렇게 하면 강동특약점(1계열이라고 부릅니다)에 대한 수정 작업은 끝났습니다. 그림을 참고하시고…
(8) 나머지 강서, 강남, 강북에 대해서도 위 (1) ~ (7)번의 과정을 반복해 줍니다. 이 때 강동대신에 강서, 강남, 강북을 각각 입력해 주어야겠지요?
여기까지 하셨으면 <표>에서 3월 이후에 4월, 5월, 6월,… 등의 자료를 추가해 보세요.
표에 어떤 변화가 생기지요? 무슨 변할까요? 직접 해보신 분은 아실테고…
혹시라도 못따라 하신 분들을 위해 옆에 "동적차트"라는 시트를 하나 만들어 두었으니 가서 테스트 해 보시기 바랍니다(참 친절하기도 하다!!!)
오늘은 조금 까다로운 개념이 몇가지 포함되어 있으므로 다음 강좌 때 하나하나 설명을 드리겠습니다. 따라서 이 파일은 버리지 말고 잘 보관하세요.
오늘은 여기까지…
정리 — 동적 차트 만들기
| 구분 | 내용 |
|---|---|
| 동적 차트 | 월별 실적을 계속 입력하면 범위를 다시 지정하지 않아도 차트에 자동 반영되는 차트 |
| 필요한 지식 | 이름 정의(Naming)와 OFFSET 함수 |
| 이름 정의 | 월, 강동, 강서, 강남, 강북 다섯 개 이름을 OFFSET과 COUNTA로 정의(참조 영역은 직접 입력) |
| 계열 수정 | 막대그래프를 선택하고 수식 입력줄에서 범위 부분을 정의한 이름(월, 강동 등)으로 교체 |
| 반복 | 강서, 강남, 강북 계열에도 같은 과정을 반복 |
| 확인 | 표에 4월, 5월, 6월 자료를 추가하면 차트가 자동으로 바뀜 |
자주 묻는 질문 (FAQ)
Q1. 동적 차트란 무엇인가요?
사용자의 입력에 따라 수시로 변화하는 차트입니다. 표에 4월, 5월, 6월 같은 월별 실적을 계속 입력하면 범위를 일일이 다시 지정하지 않아도 차트가 자동으로 연결되어 모양이 바뀝니다.
Q2. 동적 차트를 만들려면 무엇을 알아야 하나요?
이름 정의(Naming) 방법과 OFFSET 함수에 대한 지식이 필요합니다. 월과 각 지점의 범위를 OFFSET과 COUNTA로 정의하고 그 이름을 차트 계열에 연결합니다.
Q3. 정의한 이름은 차트에 어떻게 연결하나요?
강동 막대그래프를 선택하고 수식 입력줄에서 범주 부분을 월로, 값 부분을 강동으로 바꿉니다. 나머지 지점도 같은 방법으로 각각의 이름을 입력합니다.
마치며
다음 강좌에서 설명하는 SERIES 수식의 구조까지 함께 익혀 두시기 바랍니다. VBA에 대한 기초 지식을 공부하실 분은 아이엑셀러 닷컴 사이트 상단 메뉴에서 [Excel 강의] - [Excel 입문]을 먼저 보시면 이해하기 쉽습니다.