차트 범위를 자주 업데이트해야 하는 상황이라면 '동적 차트 범위(Dynamic Chart Range)'만한 대안이 없습니다. 새로운 데이터를 추가할 때마다 차트 범위가 자동으로 갱신되므로 시간과 노력을 크게 절약할 수 있습니다. 이 글에서는 엑셀에서 동적 차트 범위를 만드는 2가지 쉬운 방법을 단계별로 자세히 소개합니다.
연습용 워크북 다운로드
아래 링크에서 엑셀 파일을 내려받아 직접 따라 해보며 연습할 수 있습니다.
동적 차트 범위란?
동적 차트 범위란 원본 데이터에 새 데이터가 추가될 때마다 스스로 자동 갱신되는 차트 범위를 말합니다.
이 기능은 데이터 변화에 매우 민감하게 반응하며, 원본 데이터를 수시로 추가하거나 수정해야 하는 경우 그 진가를 발휘합니다.
엑셀에서 동적 차트 범위를 만드는 2가지 방법
방법 1: 엑셀 표(Table)를 활용한 동적 차트 범위 만들기
워크시트의 데이터 집합을 엑셀 표로 변환하면 손쉽게 동적 차트 범위를 구성할 수 있습니다. 아래 단계를 따라 해보세요.
❶ 먼저 전체 데이터 범위를 선택합니다.
❷ CTRL + T 키를 누릅니다. 일반 데이터 표가 순식간에 엑셀 표로 변환됩니다.

CTRL + T를 누르면 표 만들기(Create Table) 대화상자가 나타납니다. 표 범위는 이미 자동으로 지정되어 있으며, '머리글 포함(My table has headers)' 체크박스가 선택되어 있는지 확인하세요.
❸ 확인(OK) 버튼을 클릭합니다.

이제 엑셀 표가 완성되었습니다. 다음 단계로 넘어가겠습니다.
❹ 리본 메뉴에서 삽입(INSERT) 탭으로 이동합니다.
❺ 차트(Charts) 그룹에서 세로 막대형 차트 삽입(Insert Column Chart)을 클릭합니다.
❻ 원하는 2차원 세로 막대형 차트 스타일을 선택합니다.

이제 엑셀이 표 데이터를 기반으로 세로 막대형 차트를 생성한 것을 확인할 수 있습니다.

여기까지 하면 동적 차트 범위가 완성된 것입니다. 실제로 작동하는지 테스트해 보겠습니다.
새 레코드를 하나 추가해 보았습니다. 이름 열에는 'Bruce', 나이 열에는 42를 입력했습니다. 아래 그림에서 볼 수 있듯이, 원본 데이터에 방금 추가한 레코드가 차트에도 자동으로 반영되었습니다.

방법 2: OFFSET 및 COUNTA 함수를 활용한 동적 차트 범위 만들기
A. 동적 명명 범위(Named Range) 만들기
가장 간편한 방법은 앞서 소개한 엑셀 표 활용입니다. 하지만 어떤 이유로든 엑셀 표를 사용할 수 없는 상황이라면 OFFSET 함수와 COUNTA 함수를 조합하여 동적 차트 범위를 만들 수 있습니다.
다음 단계를 따라 진행하세요.
❶ 리본 메뉴에서 수식(FORMULAS) 탭을 클릭한 후 이름 관리자(Name Manager)를 선택합니다.

그러면 이름 관리자 대화상자가 열립니다.
❷ 이름 관리자 대화상자에서 새로 만들기(New)를 클릭합니다.

❸ 새 이름(New Name) 대화상자가 열리면 이름 입력란에 Names를 입력하고, 찾는 범위(Refers to) 상자에 아래 수식을 입력한 후 확인(OK)을 누릅니다.
=OFFSET(NamedRange!$B$2,0,0,COUNTA(NamedRange!$B:$B)-1,1)
❹ 다시 이름 관리자에서 새로 만들기를 클릭하고, 이번에는 이름 입력란에 Age를, 찾는 범위 상자에는 아래 수식을 입력한 후 확인을 누릅니다.
=OFFSET(NamedRange!$A$2,0,0,COUNTA(NamedRange!$A:$A)-1,1)
모든 과정을 마치면 이름 관리자 대화상자가 아래와 같이 표시됩니다.

B. 동적 명명 범위로 차트 만들기
이제 데이터를 시각화하기 위해 세로 막대형 차트를 삽입해야 합니다.
❺ 삽입(INSERT) 메뉴로 이동하여 차트 그룹에서 세로 막대형 차트 삽입을 선택하고, 원하는 차트 유형을 고릅니다.

❻ 디자인(DESIGN) 탭에서 데이터 선택(Select Data)을 클릭합니다.

❼ 데이터 원본 선택(Select Data Source) 대화상자가 열리면 범례 항목(Legend Entries) 아래의 추가(Add) 버튼을 클릭합니다.

❽ 계열 편집(Edit Series) 대화상자의 계열 값(Series values) 상자에 아래 수식을 입력하고 확인을 누릅니다.
=NamedRange!Ages
❾ 다시 데이터 원본 선택 대화상자로 돌아와 가로(항목) 축 레이블(Horizontal Category Axis Labels) 섹션 아래의 편집(Edit)을 클릭합니다.

❿ 축 레이블(Axis Labels) 대화상자가 나타나면 축 레이블 범위 상자에 아래 수식을 입력하고 최종적으로 확인을 누릅니다.
=NamedRange!Names
이 모든 단계를 마치면 엑셀에서 동적 차트 범위가 성공적으로 완성됩니다. 이제 원본 데이터를 업데이트할 때마다 차트 범위가 즉시 자동으로 갱신됩니다.
알아두면 좋은 점
📌 동적 차트 범위를 만드는 가장 편리한 방법은 엑셀 표를 활용하는 것입니다.
📌 엑셀 표 생성에 어려움이 있다면 명명 범위(Named Range) 방식을 대안으로 사용할 수 있습니다.
마치며
지금까지 엑셀에서 동적 차트 범위를 만드는 2가지 방법을 살펴보았습니다. 이 글과 함께 제공되는 연습용 워크북을 내려받아 직접 실습해 보시길 권장합니다. 궁금한 점이 있다면 댓글로 언제든 질문해 주세요. 관련 문의에 최대한 빠르게 답변드리겠습니다.
함께 읽으면 좋은 글
- VBA로 엑셀 동적 명명 범위 만들기 (단계별 가이드)
- OFFSET 함수로 엑셀 동적 범위 만들고 활용하기
- 드롭다운 목록으로 엑셀 동적 차트 만들기 (3가지 방법)
- 동적 제목과 범례 레이블을 적용한 엑셀 차트 만들기
- 데이터 필터를 활용한 엑셀 동적 차트 만들기 (3가지 쉬운 방법)