• 최초 작성일: 2013-11-25
  • 최종 수정일: 2026-09-21
  • 조회수: 44 회
  • 작성자: 권현욱 (엑셀러)
  • 강의 제목: 지정한 날짜만큼 스파크라인에 표시하기

들어가기 전에

오래 전 엑셀 파일로 진행하던 강의를 웹 글로 복원한 것이라, "버튼을 눌러보세요"처럼 엑셀에서 직접 조작하라는 표현이 남아 있을 수 있습니다. 결과는 본문의 그림이나 표로 확인하실 수 있으며, 현재와 맞지 않는 내용은 보완하되 전반적인 스타일은 당시의 갬성(?)을 유지했습니다.

중국에서는 페이스북이나 트위터 사용이 자유롭지 않습니다.
VPN을 통해 우회하는 방법이 있기는 한데, 유료인데다(무료도 없지는 않지만)
매번 VPN 켰다 껐다 하는게 번거롭기도 해서
누군가로부터 DM이 오거나 주말에만 가끔 이용하는 편입니다.
모처럼만에 페이스북 들어갔다가 얻은 문구 하나!

대화는 진지하게
표정은 부드럽게
확인은 철저하게
질문은 정확하게
지시는 명확하게
표현은 알기쉽게
회의는 간결하게

가장 추운 1월의 평균기온도 0도 이하로는 안떨어진다는 상하이지만
주간 일기예보를 보니 이번 주 수요일부터는 거의 0도 수준이라고 합니다.
과연 얼마나 추울지 기대(?)되기도 하는데, 다들 건강관리 잘 하시기 바랍니다.

이번 시간에도 스파크라인과 관련된 것 한 가지를 알아보도록 하지요.
아래와 같은 일자별 판매실적 데이터가 있습니다.

날짜판매
1109
2258
3749
4252
5373
6410
7843
8280
9622
10160
11509
12650
13115
14370
1591
16863
17657
18512
19142
20915
21 

여기서 최근 일주일 동안의 판매 트렌드를 스파크라인으로 나타내려면
어떻게 해야 할까요?

'직전 7일 판매 추이' 셀 옆에 판매 데이터의 마지막 7일(14~20일차)을 꺾은선과 점으로 나타낸 스파크라인
아이엑셀러

그것도 문제라고…
20일차 판매부터 14일차까지를 범위로 지정하고 스파크라인을 삽입하면 되지!
라고 답하는 분이 저기 계시는군요.

그렇게 하면 안된다고 상법에 나와 있는 것은 아니지만…
데이터를 추가(혹은 삭제)할 때마다 매번 스파크라인을 다시 만들어야
한다는 문제가 생깁니다.

표의 노란색 셀에 데이터를 추가해 보시기 바랍니다.
어라? 스파크라인도 자동으로 업데이트가 되네?
데이터를 제거하는 경우에도 마찬가지입니다.
이게 어떻게 된 일이지…

다년 간(?) 공부를 해 온 분이라면 눈치를 채셨을 텐데,
바로 "동적 이름 정의"를 이용한 것입니다.
스파크라인에도 동적 이름 정의를 적용하는 것이 가능하단 말인가?
위에서 보신 것처럼 당연히 가능합니다.

권현욱(엑셀러)
저자: 권현욱(엑셀러), 아이엑셀러 대표

필자는 Excel 컨설턴트, 작가, 그리고 크리에이터입니다. 현재 Microsoft Excel MVP이며, 『챗GPT+엑셀 업무자동화 정석』을 비롯한 10여 권의 도서를 집필했습니다. Excel 자동화 및 생산성 향상 분야에서 25년 넘는 경력을 보유하고 있습니다.

권현욱(엑셀러) 님의 최신 포스트:
  • 최신 글을 불러오는 중...


26년 경력 Microsoft MVP 권현욱(엑셀러) 지음

📊 신간 전자책(PDF) · 287쪽 · 13500원

엑셀 대시보드를 만드는 최적의 '표준 3계층 구조'

  • 3초 안에 읽히는 화면 설계 감각 습득
  • Microsoft Excel MVP의 실전 노하우 수록
  • 중간마진 없는 합리적인 가격, 오직 아이엑셀러에서만!
지금 구매하기 완성 화면 보기

엑셀 스파크라인에 지정한 날짜만큼 표시하기

핵심 요약: 스파크라인에 최근 N일만 표시하기

OFFSET 함수로 정의한 동적 이름을 스파크라인의 데이터 범위로 쓰면 데이터를 추가하거나 삭제해도 스파크라인이 자동으로 업데이트되고, 스핀 단추로 표시할 날짜 수도 바꿀 수 있습니다.

  • 동적 이름 Date: =OFFSET(Preface!$B$28,COUNTA(Preface!$B:$B)-7-4,0,7,1)로 직전 7일 데이터를 가리키게 합니다.
  • 스파크라인 삽입: B28:B47 영역을 선택하고 '삽입 - 스파크라인 - 꺾은선형'을 선택한 뒤 데이터 범위에 Date를 입력합니다.
  • 스핀 단추: 셀 연결을 이름 NDay가 가리키는 셀로 지정하고 최소값 1, 최대값 30, 증분 1로 설정합니다.
  • 동적 이름 Date2: 7 대신 NDay를 사용한 =OFFSET(Preface!$B$28,COUNTA(Preface!$B:$B)-NDay-4,0,NDay,1)을 정의합니다.

1. 직전 7일 데이터를 가리키는 동적 이름 정의

(1) "수식 - 이름 정의"를 선택하고 Date라는 이름을 정의합니다.

=OFFSET(Preface!$B$28,COUNTA(Preface!$B:$B)-7-4,0,7,1)

Offset 함수를 이용하여 동적 이름 정의(Dynamic Naming)를 하는 것은 아마도
수백 번은 하였을 것 같으므로 자세한 설명은 생략해도 되겠지요.
다른 것은 특이한 것이 없고…
7을 빼 준 것은 "직전 7일" 간의 데이터를 이용하기 위한 것이므로 그렇게 했고
4를 또 뺀 것은 B열에 찌꺼기 데이터(표의 제목 부분과 B2:B4 셀) 때문입니다.

참고: 수식의 동작

COUNTA(Preface!$B:$B)는 B열에 입력된 셀의 개수입니다. 데이터를 한 행 추가하면 개수가 1 늘어 OFFSET의 시작 위치도 한 행 내려가므로, 높이 7인 범위가 항상 가장 최근 7일 데이터를 가리킵니다. 예제의 20일 치 데이터에서는 시작 위치가 B41이 되어 B41:B47(14~20일차)을 가리킵니다.

2. 스파크라인 만들기

(2) B28:B47 영역을 선택하고 "삽입 - 스파크라인 - 꺾은선형"을 선택합니다.

(3) "스파크라인 만들기" 대화상자에서 데이터 범위와 위치 범위를 지정하고
"확인" 버튼을 클릭합니다.

스파크라인 만들기 대화상자. 데이터 범위에 이름 Date가 입력되고 위치 범위가 지정된 화면. 데이터 범위 부분이 빨간 점선 타원으로 표시됨
아이엑셀러

앞에서 정의한 "Date"라는 이름을 데이터 범위에 입력합니다.
이것이 오늘의 포인트!

참고: 화면의 위치 범위

위 화면의 위치 범위($F$12)는 다른 위치에서 작업할 때 찍은 것입니다. 이 예제 파일에서 스파크라인은 F30 셀(병합된 F30:H31)에 있습니다.

3. 표시할 날짜 수를 스핀 단추로 바꾸기

이번 강좌 여기서 끝... 이라고 하면 클레임을 제기할 분들이 있을 듯 합니다.
강좌 제목과 내용이 잘 안맞잖아요!!!
강좌 제목은 분명히 "지정한 날짜만큼 스파크라인에 표시하기"라고 해 놓고선…
그/래/서 준비했습니다. 예제 파일의 스피너를 눌러보시기 바랍니다.

스핀 단추 옆의 셀 값이 3이고, 오른쪽 스파크라인에는 마지막 3일 데이터가 3개의 점으로 표시된 화면
아이엑셀러

버튼을 누를 때마다 스파크라인에 표시되는 점의 수가 늘었다 줄었다 하지요?
이것은 또 어떻게 한 것일까요?

(1) 이 셀에 미리 이름을 정의합니다.
셀을 선택하고 "이름 상자"에 Nday라고 입력한 다음 <Enter> 키를 누르면 되겠지요.

(2) "개발 도구 - 삽입 - 스핀 단추(양식 컨트롤)"을 선택한 다음 스피너를 적당한 곳에
적당한 크기로 그려 넣습니다.

(3) 마우스 오른쪽 버튼을 클릭하고 "컨트롤 서식" 메뉴를 선택한 다음
최소값, 최대값, 셀 연결 등의 항목 값을 그림과 같이 지정합니다.

컨트롤 서식 대화상자의 '컨트롤' 탭. 현재값 3, 최소값 1, 최대값 30, 증분 변경 1, 셀 연결 NDay로 지정한 화면
아이엑셀러

(4) "수식 - 이름 정의"를 선택한 후 "Date2"라는 이름을 정의합니다.
앞에서 수작업으로 "-7"이라고 한 부분을 Nday로 바꾸어 주었습니다.

=OFFSET(Preface!$B$28,COUNTA(Preface!$B:$B)-NDay-4,0,NDay,1)

이제 스피너를 클릭할 때마다 스파크라인에 표시되는 점의 수도 자동으로 연동됩니다.
이제 강좌 제목과 어울리는 내용으로 꾸며졌군요. Mission Complete!!

정리 — 이름 정의 한눈에 보기

이름 참조 대상 용도
Date =OFFSET(Preface!$B$28,COUNTA(Preface!$B:$B)-7-4,0,7,1) 직전 7일 데이터 (스파크라인 데이터 범위)
NDay Preface!$D$82 표시할 날짜 수 (스핀 단추의 셀 연결)
Date2 =OFFSET(Preface!$B$28,COUNTA(Preface!$B:$B)-NDay-4,0,NDay,1) 직전 NDay일 데이터 (스핀 단추와 연동)

자주 묻는 질문 (FAQ)

Q1. 엑셀 스파크라인에 동적 이름을 사용할 수 있나요?

네, 가능합니다. 스파크라인을 만들 때 '데이터 범위'에 셀 주소 대신 OFFSET 함수로 정의한 이름(예: Date)을 입력하면 데이터를 추가하거나 삭제할 때 스파크라인이 자동으로 업데이트됩니다.

Q2. 직전 7일 데이터만 스파크라인에 표시하는 이름은 어떻게 정의하나요?

'수식 - 이름 정의'에서 Date라는 이름의 참조 대상을 =OFFSET(Preface!$B$28,COUNTA(Preface!$B:$B)-7-4,0,7,1)로 정의합니다. 7은 직전 7일을, 4는 B열의 표 제목과 B2:B4 셀 같은 찌꺼기 데이터를 뺀 값입니다.

Q3. 스파크라인에 표시할 날짜 수를 버튼으로 바꾸려면 어떻게 하나요?

일수를 저장할 셀에 이름 NDay를 정의하고, 스핀 단추(양식 컨트롤)의 셀 연결을 그 셀로 지정한 뒤, 이름 Date2의 참조 대상에서 7 대신 NDay를 사용합니다. 그러면 스핀 단추를 누를 때마다 스파크라인에 표시되는 점의 수가 바뀝니다.

마치며

오늘은 여기까지…