본문 바로가기

직장인 문서 활용기

[스프레드시트] 셀 내 차트 그리기 sparkline

반응형

최근 스프레드시트 셀 안에 이런 식으로 그래프를 그린 주식 관련 시트를 본 적이 있었는데요.

오늘은 실무에서도 좀 더 스프레드시트 안에서 더 표 안에 깔끔하게 들어가게 그래프를 그리는 방법에 대해서 알아보도록 하겠습니다.


위 예시 수치는 정말 임의값으로 한번 넣어서 만들어놨습니다.

이렇게 셀 안에 막대 그래프를 넣고 수치에 따라 변화하는 그래프를 만들고 싶다면 바로 sparkline이라는 함수를 사용하면 됩니다.

스파크라인은 단일 셀 내에 포함된 소형 차트를 만드는 방법으로 구글 스프레드시트에서 지원하는 함수입니다

sparkline(데이터, 옵션)의 형태로 넣을 수 있습니다.

구글에서 제시하는 사용 예시입니다.

그리고 구문에 대한 해석은

SPARKLINE(데이터, [옵션])

  • 데이터 - 차트로 표시할 데이터가 들어 있는 범위 또는 배열입니다.
  • 옵션 - [ 선택사항 ] - 차트를 맞춤설정하기 위해 사용되는 선택적 설정 및 관련 값의 범위 또는 배열입니다.
    • 범위를 지정하는 경우 옵션을 두 개의 셀로 구성해야 합니다. 여기서 첫 번째 셀은 옵션이며 두 번째 셀은 옵션이 설정된 값입니다.
    • "charttype" 옵션은 차트의 유형을 정의하며 다음을 포함합니다.
      • "line" - 선 그래프(기본값)
      • "bar" - 누적 막대 그래프
      • "column" - 열 차트
      • "winloss" - 양수 및 음수(예: 동전 던지기의 앞면 또는 뒷면), 이렇게 2가지 결과를 표시하는 특수한 유형의 열 차트
    • 선 그래프:
      • "xmin" - 가로축의 최소값을 설정합니다.
      • "xmax"- 가로축의 최대값을 설정합니다.
      • "ymin" - 세로축의 최소값을 설정합니다.
      • "ymax" - 세로축의 최대값을 설정합니다.
      • "color" - 선의 색상을 설정합니다.
      • "empty" - 빈 셀을 처리하는 방법을 설정합니다. 유효한 값으로는 "zero" 또는 "ignore"가 있습니다.
      • "nan" - 숫자가 아닌 데이터가 들어 있는 셀을 처리하는 방법을 설정합니다. "convert"  "ignore" 옵션을 사용할 수 있습니다.
      • "rtl" - 차트를 오른쪽에서 왼쪽으로 렌더링할지 여부를 결정합니다. true  false 옵션을 사용할 수 있습니다.
      • "linewidth" - 차트에서 사용할 선의 너비를 결정합니다. 숫자가 높을수록 선의 너비가 두꺼워집니다.
    • column 및 winloss 스파크라인의 경우:
      • "color" - 차트 열의 색상을 설정합니다.
      • "lowcolor" - 차트의 최저값에 사용할 색상을 설정합니다.
      • "highcolor" - 차트의 최고값에 사용할 색상을 설정합니다
      • "firstcolor" - 첫 번째 열의 색상을 설정합니다.
      • "lastcolor" - 마지막 열의 색상을 설정합니다.
      • "negcolor" - 모든 음수 열의 색상을 설정합니다.
      • "empty" - 빈 셀을 처리하는 방법을 설정합니다. 유효한 값으로는 "zero" 또는 "ignore"가 있습니다.
      • "nan" - 숫자가 아닌 데이터가 들어 있는 셀을 처리하는 방법을 설정합니다. "convert"  "ignore" 옵션을 사용할 수 있습니다.
      • "axis" - 축을 그려야 하는지 여부를 지정합니다(true/false).
      • "axiscolor" - 축의 색상을 설정합니다(해당하는 경우).
      • "ymin" - 열의 높이를 조정하기 위해 사용해야 하는 맞춤 최소 데이터 값을 설정합니다(win/loss의 경우 해당하지 않음).
      • "ymax" - 열의 높이를 조정하기 위해 사용해야 하는 맞춤 최대 데이터 값을 설정합니다(win/loss의 경우 해당하지 않음).
      • "rtl" - 차트를 오른쪽에서 왼쪽으로 렌더링할지 여부를 결정합니다. true  false 옵션을 사용할 수 있습니다.
    • 막대 그래프:
      • "max" - 가로축의 최대값을 설정합니다.
      • "color1" - 차트의 막대에 사용되는 첫 번째 색상을 설정합니다.
      • "color2" - 차트의 막대에 사용되는 두 번째 색상을 설정합니다.
      • "empty" - 빈 셀을 처리하는 방법을 설정합니다. 유효한 값으로는 "zero" 또는 "ignore"가 있습니다.
      • "nan" - 숫자가 아닌 데이터가 들어 있는 셀을 처리하는 방법을 설정합니다. "convert"  "ignore" 옵션을 사용할 수 있습니다.
      • "rtl" - 차트를 오른쪽에서 왼쪽으로 렌더링할지 여부를 결정합니다. true  false 옵션을 사용할 수 있습니다.

메모

  • 색상은 색상의 이름(예: 'green') 또는 16진수 코드(예: '#3D3D3D')로 입력할 수 있습니다.
  • 선 차트의 색상을 수정하려면 셀의 글꼴 색상을 변경합니다.

를 참고해보시면됩니다.


예시로 제일 위에 넣은 스파크 라인을 어떻게 그렸는지 한번 보도록 하겠습니다.

=SPARKLINE(D4,{"charttype","bar";"color1","ff4200";"max",max($D$4:$D$9)})

d4 셀 = 10대 자산액 값이 있는 셀입니다.

내가 표현하고 싶은 수치가 있는 셀을 처음 넣고 그다음은 옵션으로 어떻게 구현하고 싶은지 넣습니다.

charttype은 저는 bar형으로 우측으로 갈수록 최대치를 나타내도록 선택했습니다.

그리고 color는 ff4200이라는 다홍색을 입력했습니다.

그리고 막대형에서 해줘야 하는 건 셀의 영역이 100%로 차는 막대가 생기는 최대치를 지정해줘야 합니다.

특정 값을 넣어도 무방합니다.

다만 저는 10~60대 이상의 각 계급의 자산액 중 가장 많은 수를 최대치로 설정하고 나머지를 그 비율에 따라 나타내고 싶었습니다.

그래서 "max"에 해당하는 값을 다시 max함수로 d4:d9에서 가장 큰 값을 가져올 수 있게 max(d4:d9)로 설정하고 절대 참조를 위해 $를 걸었습니다.

 

이로써 자산이 가장 많은 40대는 막대형 그래프가 최대치로 그리고 나머지는 그에 맞춰 비율대로 표현되었습니다.

대부분의 형우 따로 그래프를 생성하겠지만 한 표 안에서 간단하지만 가시성 있게 표현하고자 할 때도 있을 겁니다.

이럴 때는 sparkline을 사용하면 손쉽게 좀 더 가치성이 높은 그래프를 그릴 수 있습니다.



반응형