スプレッドシートのSPARKLINE関数でセル内にミニグラフを作成する方法

こんにちは、データサイエンティストのたぬ(@tanuhack)です!

スピード感が求められる仕事を行うとき、精密なグラフを作成することに拘っている時間はありません!!そんなときに役に立つのが、スプレッドシートのSPARKLINE関数です。

SPARKLINE関数とは

セルの中に、小さなグラフを描くことが出来る関数です。

細かい分析には向いていませんが、『数字のインパクト』や『時間の経過による数値の変化』などを視覚的に数値を把握・共有したい場合にオススメです。

数字だけが羅列してあるシートよりも、パッと見ただけで全体が伝わるようなシートの方が良いと思いませんか?(^^)

データビジュアライゼーション(情報視覚化)の世界へ、ようこそ!それでは始めます。

SPARKLINE関数の使い方

構文
=SPARKLINE(データ, [オプション])

  • データ:可視化させたい『範囲』もしくは『配列』を代入
  • オプション(省略可):グラフに様々なオプションを設定

SPARKLINE関数では、以下の4つのミニグラフを描くことができます。

  1. 棒グラフ
  2. 折れ線グラフ
  3. 縦棒グラフ
  4. 正負グラフ

SPARKLINE関数を使って、これら4つのグラフを切り替えるためには、charttypeオプションをそれぞれの固有の値に変更しなければいけません。

それぞれ見ていきましょう〜!!!

棒グラフ

データの大小関係を比較するときに使うのが棒グラフですね!

sparkline2

グラフのデータ範囲を複数セルにすると積み上げ棒グラフになります。

sparkline2-1

ゲームのパラメータ感覚で、目標に対しての進捗度を測ったり、単純に数値を大小を比較するときに使ってください。

オプション 説明
charttype "bar" 棒グラフ
max 数値 x軸の最大値
color1 "カラーコード(16進数表記)" グラフ内の棒に使う1つ目の色
color2 "カラーコード(16進数表記)" グラフ内の棒に使う2つ目の色(積み上げ棒グラフ)
empty "zero"または"ignore" 空のセルの処理方法(0か無視)
nan "convert"または"ignore" 非数値データを含むのセル(文字列等)の処理方法
rtl trueまたはfalse グラフを右から左に描写するかどうか(True=右から)

複数のオプションを付与したい場合は、=SPARKLINE(範囲, {"charttype", "bar"; "max", 100; "color1", "#000000"})みたいな感じで、コンマで区切ります。

棒グラフの上に実数を書くことができれば、もっと良かったんですけどねえ。

[aside]スプレッドシートのセルに画像を装入することもできます!
スプレッドシートのIMAGE関数でセル内に画像を挿入する方法! [/aside]

折れ線グラフ

値の変化率を調べるときに使うのが折れ線グラフですね!

sparkline1
C4:L4でセルの結合

折れ線グラフを大きく表示するために、C4からL4セルまで『セルの結合』を行っています。

オプション 説明
charttype "line" 折れ線グラフ
xmin 数値 x軸の最小値
xmax 数値 x軸の最大値
ymin 数値 y軸の最小値
ymax 数値 y軸の最大値
color "カラーコード(16進数表記)" 線の色(折れ線グラフの色を変更するには、そのセルのフォントの色を変更する。)
empty "zero"または"ignore" 空のセルの処理方法(0か無視)
nan "convert"または"ignore" 非数値データを含むのセル(文字列等)の処理方法
rtl trueまたはfalse グラフを右から左に描写するかどうか(True=右から)
linewidth 数値 グラフ内の線の太さ

縦棒グラフ・正負グラフ

セルの中に、縦棒グラフと正負グラフを描くことも出来ます!

  • 縦棒グラフ:縦向きの棒グラフ(値はそれぞれ)
  • 正負グラフ:縦向きの棒グラフ(値が正数または負数で一定)

この2つのグラフの使い分けは、大小関係をグラフで比較したい場合は縦棒グラフ、正か負かだけを知りたいなら正負グラフを使いましょう。

sparkline3
縦棒グラフ
sparkline4
正負グラフ

縦棒グラフ・正負グラフとも大きく表示するために、C4からL4セルまで『セルの結合』を行っています。

オプション 説明
charttype "column"または"winloss" column:縦棒グラフ、winloss:正負グラフ
color "カラーコード(16進数表記)" 縦棒の色
lowcolor "カラーコード(16進数表記)" グラフ内の最小値の色
highcolor "カラーコード(16進数表記)" グラフ内の最大値の色
firstcolor "カラーコード(16進数表記)" 最初の縦棒の色
lastcolor "カラーコード(16進数表記)" 最後の縦棒の色
negcolor "カラーコード(16進数表記)" すべての負の縦棒の色
empty "zero"または"ignore" 空のセルの処理方法(0か無視)
nan "convert"または"ignore" 非数値データを含むのセル(文字列等)の処理方法
empty "zero"または"ignore" 空のセルの処理方法(0か無視)
axis trueまたはfalse 軸を表示するか
axiscolor "カラーコード(16進数表記)" 軸の色(該当する場合)
ymin 数値 y軸の最小値
ymax 数値 y軸の最大値
rtl trueまたはfalse グラフを右から左に描写するかどうか(True=右から)

棒グラフや折れ線グラフと比べると、グラフ内の最大・最小値でグラフの色を変えられたり、最初と最後のグラフの色を変えられたり、とグラフの表現の幅が広いです。

さいごに

今回は、SPARKLINE関数を使って、スプレッドシートのセルの中にミニグラフを描画する方法を紹介しました。

冒頭でも述べましたが、SPARKLINE関数は細かい分析に向いていません。

しかし、『数字のインパクト』や『時間の経過による数値の変化』などをザッと視覚的に把握・共有したい場合にオススメなので、積極的に使ってくださいね。



それでは!