「月ごとの売上推移、ぱっと見でわかるようにしたい」と思ったことはありませんか。
グラフを作ると大きなスペースを取りますし、データの行ごとに小さなグラフを並べるのは手間がかかります。
そんなときに便利なのがSPARKLINE関数です。セルの中にミニグラフを表示でき、一覧表のまま推移や比率をひと目で把握できます。
この記事では、GoogleスプレッドシートのSPARKLINE関数の基本から実務で使える応用例まで紹介します。
スプレッドシートのSPARKLINE関数とは?
SPARKLINE関数(読み方: すぱーくらいん)は、セルの中にミニグラフを表示する関数です。
名前は英語の「sparkline(小さな線グラフ)」からきています。データの傾向を「パッと」伝えるのが目的です。
折れ線・横棒・縦棒・正負の4種類のグラフを描けます。通常のグラフのように別の場所に挿入する必要がなく、表の中にそのまま収まるのが特徴です。
SPARKLINE関数でできることをまとめると、次のとおりです。
- セル内に折れ線グラフで推移を表示する
- 横棒グラフで進捗バーや達成率を可視化する
- 縦棒グラフで月次の数値を比較する
- 正負グラフで勝敗や増減をひと目で確認する
NOTE
SPARKLINE関数はGoogleスプレッドシート専用の関数です。Excelには同名の関数がありません。
SPARKLINE関数の書き方(構文と引数)
基本構文
=SPARKLINE(データ, [オプション])
第1引数にグラフに使うデータを指定します。第2引数でグラフの種類や色をカスタマイズできます。
第1引数:データ(表示するデータ範囲)
グラフに使う数値が入ったセル範囲を指定します。
=SPARKLINE(B2:M2)
上の例では、B2からM2までの12か月分のデータを折れ線グラフにします。配列を直接指定することもできます。
=SPARKLINE({1,3,2,5,4})
第2引数:オプション(グラフ種類・色・線幅など)
オプションは {"キー","値"} の形式で指定します。複数のオプションはセミコロンで区切ります。
=SPARKLINE(B2:M2, {"charttype","column"; "color","#4CAF50"})
この例では縦棒グラフを緑色で表示します。オプションを省略すると、デフォルトの折れ線グラフになります。
主なオプションキーは次のとおりです。
| オプション | 説明 | 対象タイプ |
|---|---|---|
| charttype | グラフの種類(line/bar/column/winloss) | 全タイプ |
| color | 線や棒の色 | line, column, winloss |
| linewidth | 線の太さ | line |
| highcolor | 最大値の色 | column, winloss |
| lowcolor | 最小値の色 | column, winloss |
| negcolor | 負の値の色 | column, winloss |
| max | 棒の最大値 | bar |
| color1, color2 | 棒の色(最大9色まで) | bar |
| axis | ゼロ軸線の表示(true/false) | column, winloss |
TIP
色の指定には色名(
"red""blue"など)やHEXコード("#FF5722"など)が使えます。
SPARKLINE関数の基本的な使い方 — 4種類のグラフ
SPARKLINE関数で使えるグラフは4種類です。それぞれ見ていきましょう。
折れ線グラフ(line)
もっとも基本的なタイプです。charttypeを省略するとこの折れ線になります。
=SPARKLINE(B2:M2)
色と線の太さを変えたい場合はオプションを追加します。
=SPARKLINE(B2:M2, {"color","#2196F3"; "linewidth",2})
月次の売上推移やアクセス数のトレンドを一覧表の中で確認したいときに便利ですよ。
横棒グラフ(bar)
barタイプは横方向の積み上げ棒グラフを表示します。進捗バーや割合の表現に向いています。
=SPARKLINE(C2, {"charttype","bar"; "max",100; "color1","#4CAF50"; "color2","#E0E0E0"})
この例では、C2の値を100を最大値として進捗バーで表示します。color1が達成部分、color2が残り部分の色です。
複数のセルに同じ最大値を設定すると、バーの長さを揃えて比較できます。
TIP
maxを指定しないと、データの合計値が最大値になります。行ごとに比較したい場合はmaxを統一してください。
縦棒グラフ(column)
columnタイプは縦棒グラフを表示します。月ごとの数値を並べて比較するのに使えます。
=SPARKLINE(B2:M2, {"charttype","column"; "color","#4CAF50"; "highcolor","#F44336"; "lowcolor","#2196F3"})
最大値は赤、最小値は青でハイライトされます。どの月が好調でどの月が低迷したか、ひと目でわかりますよね。
負の値がある場合はnegcolorで色を変えられます。
=SPARKLINE(B2:M2, {"charttype","column"; "color","#4CAF50"; "negcolor","#FF9800"})
負の値を目立たせることで、マイナス月をひと目で判断できますよ。
正負グラフ(winloss)
winlossタイプは、正の値と負の値を同じ高さの縦棒で表示します。値の大きさではなく「プラスかマイナスか」だけを見せるグラフです。
=SPARKLINE(B2:M2, {"charttype","winloss"; "color","#4CAF50"; "negcolor","#F44336"})
正の値は緑、負の値は赤で表示されます。勝敗の管理や、前月比がプラスかマイナスかの確認に使えますよ。
SPARKLINE関数の実践的な使い方・応用例
KPI推移をワンセルで見せるダッシュボード
KPI一覧表に折れ線のSPARKLINEを並べると、コンパクトなダッシュボードが作れます。
たとえば、以下のような構成です。
| KPI名 | 1月 | 2月 | … | 12月 | 推移 |
|---|---|---|---|---|---|
| 売上 | 100 | 120 | … | 150 | (折れ線グラフ) |
| PV数 | 5000 | 5200 | … | 6800 | (折れ線グラフ) |
| CVR | 2.1% | 2.3% | … | 2.8% | (折れ線グラフ) |
「推移」列に次の数式を入れます。
=SPARKLINE(B2:M2, {"color","#2196F3"; "linewidth",2})
数値の列とミニグラフが横に並ぶので、詳細な数値とトレンドを同時に確認できます。
色を変えればKPIごとに色分けも可能です。月次報告資料の代わりとしても使えますよ。
進捗バーとして使う(barタイプ応用)
タスクの進捗率やKPIの達成率を、セル内の進捗バーで表現できます。
A列にタスク名、B列に達成率(0〜100の数値)が入っている場合の数式です。
=SPARKLINE(B2, {"charttype","bar"; "max",100; "color1","#4CAF50"; "color2","#E0E0E0"})
達成率が75なら、セルの75%が緑、残り25%がグレーで塗られます。
QUERY関数やFILTER関数で集計した結果にSPARKLINEを組み合わせると、データの抽出から可視化まで1つのシートで完結します。
TIP
達成率が100%を超える可能性がある場合は、
"max",120のように余裕を持たせておくと見栄えが良くなります。
SPARKLINE関数のよくあるエラーと対処法
SPARKLINE関数で困ったときの対処法をまとめました。
| 症状 | 原因 | 対処法 |
|---|---|---|
| グラフが表示されず数式がそのまま見える | セルの書式が「書式なしテキスト」になっている | セルの書式を「自動」に変更してEnterを押し直す |
| #N/A エラーが出る | データ範囲に数値以外が含まれている | 文字列や空白を除外するか、nanオプションで "nan","convert" を指定する |
| #ERROR! が出る | オプションの書式が間違っている | {"キー","値"} の波括弧・ダブルクォーテーション・セミコロンを確認する |
| 棒グラフの長さがバラバラ | maxが未設定で行ごとに最大値が異なる | barタイプでは "max",100 のように最大値を統一する |
| セルが狭くてグラフが見えない | 行の高さや列の幅が足りない | 行の高さを30px以上、列の幅を100px以上に広げる |
| Excelで開いたらグラフが消えた | SPARKLINE関数はGoogleスプレッドシート専用 | Excel共有が必要な場合はグラフ画像を別途挿入する |
オプションの記述ミスが原因のエラーが多いです。波括弧とセミコロンの位置を確認してみてください。
Excelとの違い
SPARKLINE関数はGoogleスプレッドシート専用の機能です。Excelには同じ名前の関数がありません。
| 項目 | Googleスプレッドシート | Excel |
|---|---|---|
| 操作方法 | 関数(数式で記述) | 機能(リボンの「挿入」→「スパークライン」) |
| グラフタイプ | line / bar / column / winloss の4種類 | 折れ線 / 縦棒 / 勝敗 の3種類 |
| 横棒(bar)タイプ | あり(進捗バーに便利) | なし |
| カスタマイズ | オプションで色・軸・スケールを細かく指定 | リボンのオプションで変更 |
| 互換性 | Excelで開くとグラフが消える | スプレッドシートでは表示されない |
大きな違いは操作方法です。スプレッドシートでは数式で記述するため、コピーや条件分岐との組み合わせが簡単です。
Excelのスパークラインはリボンから挿入する独立した機能なので、数式の中に組み込むことはできません。
横棒(bar)タイプがあるのもスプレッドシートならではの強みです。進捗バーや達成率の表現にはスプレッドシートのSPARKLINEが向いていますよ。
まとめ
SPARKLINE関数を使うと、大きなグラフを挿入せずに表の中でデータの傾向を視覚化できます。
ポイントを整理します。
- 構文は
=SPARKLINE(データ, [オプション])の2つの引数 - 折れ線(line)・横棒(bar)・縦棒(column)・正負(winloss)の4種類
- オプションは
{"キー","値"; "キー","値"}の形式で指定する - barタイプに
"max"を設定すると、進捗バーとして使える - KPIダッシュボードや達成率の可視化に便利
- Googleスプレッドシート専用で、Excelには同名の関数がない
- QUERY関数やFILTER関数と組み合わせると、集計から可視化まで1シートで完結する
まずは =SPARKLINE({1,3,2,5,4}) で折れ線グラフの表示を試してみてください。
