売上額の推移や月ごとの入場者数など、数値データを見やすくしたいということは、業務の中でよくあることだと思います。
表内の数値を見ているだけではなかなかイメージしづらいものですから、そのデータを基に簡単にグラフを作成できたら便利ですよね。
SPARKLINE関数を使うと、スプレッドシートに入力されたデータをもとに自動でグラフを作成できます。折れ線グラフや棒グラフなど種類も選べます。
SPARKLINE関数の使い方を見てみましょう。
グラフ作りの手間を省けるSPARKLINE関数
作成するグラフが1つだけであれば特に問題ないですが、いくつものグラフを作ることになった時、グラフを作ったはいいけど、一体このグラフはどこのデータを基にしているのか、リンク元が分からなくなってしまうということも多々あるのではないでしょうか。
特に、グラフ用に別シートを作成すると、いちいち画面を切り替えて確認しなければならなくなり、結構面倒くさいものです。もちろん、それを会議の資料として出力するとか、そういった必要があるのであれば、グラフ用のシートを作成し、色使いやフォント、グラフタイトルの配置等は工夫すべきです。
しかし、ただ単純に推移を見たいだけ、といったような方もいると思います。そういった時にグラフシートを別に作るというやり方は、前述のように結構手間になります。
そんな時にオススメなのが、今回紹介するSPARKLINE関数という関数です。
SPARKLINE関数の役割
SPARKLINE関数の役割は、1つのセル内にグラフを格納できるというもので、指定したセル範囲の隣に関数を入力することで、どのセル範囲とリンクをしているのかということが一瞬で分かるようになる便利な関数です。
特に出力する必要はないけれど、視覚的に見やすくしたいという場合には、この関数を使うべきでしょう。
データの作成者や閲覧者の混乱を避けられる
実務においてはセルを追加したり、削除したりという作業は頻繁に起こります。その際、別シートにグラフを用意していると、データ元はないのにグラフシートだけ存在する等、作業者や閲覧者を混乱させかねない状況も生じてきます。
しかし、SPARKLINE関数が使われていれば、例えば行ごと削除した時には当然、SPARKLINE関数も同時に削除されることになるので、煩雑になる恐れもありません。
画面をいちいち遷移したり、不要なシートを削除したりする作業は、それ単体で見れば大きな時間を消費するという訳ではありませんが、積み重なってくると、軽視できないほどの量になります。
そういった手間を省くことにもつながりますので、このSPARKLINE関数を習得していて損はありません。
それでは、SPARKLINE関数の具体的な使い方を見てみましょう。
SPARKLINE関数の使い方
SPARKLINE関数はセルに次のような内容を入力することで使えます。
=SPARKLINE(セルの範囲, {オプション})
第1引数には、可視化させたいセルの範囲(例えばA1:A10等)、第2引数にはグラフのオプション(折れ線グラフ、棒グラフなど)を指定することができます。オプションについては省略可能で、省略した場合にはデフォルトで折れ線グラフが表示されます。
実例として、2018年の各月の平均気温が入力されているスプレッドシートにグラフを挿入してみましょう。
A | B | C | D | E | F | G | |
1 | 1月 | 2月 | 3月 | 4月 | 5月 | 6月 | 7月 |
2 | 2 | 4.5 | 2.3 | 7.9 | 13.6 | 18.2 | 21.4 |
3 | =SPARKLINE(A2:G2) |
グラフを挿入したいセルに、
=SPARKLINE(A2:G2)
と入力します。
そうすると、セルの中に平均気温の推移を示した折れ線グラフが表示されることになります。
なお、ここではA2からG2のセルをあらかじめ横に結合したうえで、SPARKLINE関数を入力しています。こうすることで実際の数値とグラフの対応関係が視覚的に理解しやすくなります。
SPARKLINE関数で表示するグラフのバリエーション
SPARKLINE関数を使って、数値の推移ではなく、数値の大小を比較したい場合もあると思います。
そういった際には、第2引数のオプションの部分でグラフの種類を指定することができます。
オプションでは、
- 横棒グラフ→ {“charttype”,”bar”}
- 縦棒グラフ→ {“charttype”,”column”}
- 正負グラフ→ {“charttype”,”winloss”}
を指定することができます。後ほど実例として、横棒グラフの使い方を見てみましょう。
なお第2引数では、グラフの色や最小値、最大値、セルに値が入っていない時の処理方法、グラフの向き(左と右どちらがスタートなのか)等、さらに細かい設定をし、様々なタイプのグラフを表示することができます。
SPARKLINE関数が表示できないケースや注意点
SPARKLINE関数はデータの細かい分析には不向きです。
簡単にザっと情報を把握したい時、ちょっと補足説明が欲しい時などに使うと良いでしょう。
また、セルに数値以外のデータが入っている場合、グラフが表示されなかったり、思うようなグラフが表現できなかったりすることがあります。例えば、毎月副業で稼いだお小遣いの残高を記録しているとして、下記のようなデータを入力していたとします。
A | B | C | D | |
1 | 1月 | 2月 | 3月 | 4月 |
2 | 4544円 | 1351円 | 2650円 | 4089円 |
このデータをもとに、グラフを作ろうとすると、エラーが起こるかもしれません。それは、「円」という単位がついているからです。単位が完全にそろっている場合には、うまく表示できることもあるようですが、エラーの可能性はできる限り排除しておきたものです。
基本的に、「1つのセルには1つの情報だけ」というのは徹底しておきたいものです。その視点で考えると、1行目に表記されている「1月」「2月」「3月」「4月」というのも望ましくはないですよね。
このようなスプレッドシートの記載はあらかじめ直しておきたいもの。このケースはデータの量が少ないので手入力でも問題ありませんが、データが膨大になるとデータの整理も容易ではありません。余談ですが、そんなときに便利なMID関数を下記の記事で解説しておりますので、よろしければ合わせてご覧ください。
スプレッドシートで棒グラフを表示するには?
最後に、SPARKLINE関数を使い、スプレッドシートに棒グラフを表示してみましょう。
折れ線グラフのときはセルの範囲を指定し、1つの関数の入力だけで済みましたが、棒グラフでは一つ一つの数値に対して棒グラフを表示させたいので、数値の数だけ関数を入力します。
具体例を見てみましょう。
先ほどの、副業で稼いだお小遣いのデータを横棒グラフを見やすくするために縦書きに整理しました。
A | B | C | |
1 | 1月 | 4544 | =SPARKLINE($B1,{“charttype”,”bar”;”max”,5000}) |
2 | 2月 | 1351 | =SPARKLINE($B2,{“charttype”,”bar”;”max”,5000}) |
3 | 3月 | 2650 | =SPARKLINE($B3,{“charttype”,”bar”;”max”,5000}) |
4 | 4月 | 4089 | =SPARKLINE($B4,{“charttype”,”bar”;”max”,5000}) |
棒グラフを表示させたいセル(この場合はC列)に次のような関数を入力しています。
=SPARKLINE(B1,{“charttype”,”bar”;”max”,5000})
各要素の意味あいは次の通りです。
- B1 …グラフを表示したい数値の場所を示します。
- “charttype” …こちらの表記は固定です。この通りに入力すればOK。
- “bar” …グラフの種類を指定しています。ここでは横棒グラフを指定。
- “max” …こちらの表記は固定です。この通りに入力すればOK。
- 5000 …マックスの値を設定します。自由に数字を設定できます。
棒グラフでは、マックスの数値に対して、どれくらいの割合に達しているかを視覚的に見ることができます。この例では、副業の収入は5000円以下に収まっていたのでマックスを5000円に設定しました。
途中に一カ所「;」が使われているので注意しましょう。「,」と間違いやすく、間違えるとエラーが出ます。また、「{」の前に「,」を入れ忘れがちなので、こちらも注意。
1つ1つ関数を入力する手間を省くには、「$」を使うと便利です。
=SPARKLINE($B1,{“charttype”,”bar”;”max”,5000})
こちらを一番上のセル(この場合はC1)にだけ入力し、セルの下の方に表示される小さな「+」マークを下の行まで引き伸ばすと、その他の行にも適切に関数がコピーされます。
「$」には直後の値を固定する働きがあります。ここでは「$B1」と表記しているので、「B」の部分は行が変わっても常に「B」のままで固定され、「1」の部分は行が変わるのに合わせて変動する、といった指定になっています。
スプレッドシートのSPARKLINE関数の使い方、棒グラフの表示の仕方の解説は以上となります。こまごまとした数値もグラフの形で見るとイメージを掴みやすいですよね。ぜひ有効活用してみてください。
なおSPARKLINE関数については、下記のGoogle Supportページでも解説されています。