スプレッドシートのSPARKLINE関数の使い方|セル内ミニグラフ・進捗バー・KPIダッシュボード完全ガイド

スポンサーリンク

「月ごとの売上推移、ぱっと見でわかるようにしたい」と思ったことはありませんか。

グラフを作ると大きなスペースを取りますし、データ行ごとに小さなグラフを並べるのも手間がかかります。

そんなときに便利なのがSPARKLINE関数です。セルの中にミニグラフを表示でき、一覧表のまま推移や比率をひと目で把握できます。

この記事では、GoogleスプレッドシートのSPARKLINE関数の基本から実務応用までを紹介します。KPIダッシュボード・進捗バー・在庫アラートの実例や、よくあるエラーの対処法も丁寧に解説します。

  1. スプレッドシートのSPARKLINE関数とは?
    1. SPARKLINEを使うとどう変わるか
  2. SPARKLINE関数の書き方(構文と引数)
    1. 基本構文
    2. 第1引数:データ(表示するデータ範囲)
    3. 第2引数:オプション(グラフ種類・色・線幅など)
  3. SPARKLINE関数の基本的な使い方 — 4種類のグラフ
    1. 折れ線グラフ(line)
    2. 横棒グラフ(bar)
    3. 縦棒グラフ(column)
    4. 正負グラフ(winloss)
  4. SPARKLINE関数の実践応用例
    1. 応用例1: KPIダッシュボードを1枚にまとめる
    2. 応用例2: 進捗バーで達成状況を見える化する
    3. 応用例3: 売上トップ商品の月次推移を一覧化する
    4. 応用例4: 在庫アラートとして正負グラフを使う
  5. 他の関数と組み合わせる活用テクニック
    1. QUERY関数で集計してからSPARKLINEで可視化
    2. FILTER関数で条件抽出した結果をミニグラフにする
    3. ARRAYFORMULAで一括適用する
    4. IMAGE関数と並べてビジュアル一覧を作る
    5. 条件付き書式と組み合わせて行全体を色分け
  6. SPARKLINE関数のオプション完全リファレンス
    1. 折れ線グラフ(line)専用オプション
    2. 横棒グラフ(bar)専用オプション
    3. 縦棒グラフ(column)・正負グラフ(winloss)共通オプション
  7. SPARKLINE関数のよくあるエラーと対処法
  8. SPARKLINE関数のよくある質問(FAQ)
    1. Q1. SPARKLINEで表示したグラフを画像として保存できますか?
    2. Q2. SPARKLINEの色を条件によって変えることはできますか?
    3. Q3. SPARKLINEに凡例やラベルを表示できますか?
    4. Q4. SPARKLINEで複数の系列を1つのセルに重ねて表示できますか?
    5. Q5. SPARKLINEを使うとシートが重くなりますか?
    6. Q6. ExcelでSPARKLINEのような表現はできますか?
    7. Q7. SPARKLINEとGOOGLEFINANCE関数を組み合わせて株価チャートを作れますか?
  9. Excelとの違い・使い分け
  10. まとめ
    1. 関連記事

スプレッドシートのSPARKLINE関数とは?

SPARKLINE関数(読み方: すぱーくらいん)は、セルの中にミニグラフを表示する関数です。

関数名は英語の「sparkline(小さな線グラフ)」に由来します。アメリカの統計学者エドワード・タフテ氏が提唱した「文脈の中に置く小さな視覚化」というコンセプトを関数化したものです。データの傾向を「パッと」伝えるのが目的です。

折れ線・横棒・縦棒・正負の4種類のグラフを描けます。通常のグラフのように別の場所に挿入する必要がなく、表の中にそのまま収まるのが特徴です。

SPARKLINE関数でできることをまとめると、次のとおりです。

  • セル内に折れ線グラフで推移を表示する
  • 横棒グラフで進捗バーや達成率を可視化する
  • 縦棒グラフで月次の数値を比較する
  • 正負グラフで勝敗や増減をひと目で確認する

NOTE

SPARKLINE関数はGoogleスプレッドシート専用の関数です。Excelには同名の関数がありません(Excelには「スパークライン」というリボン機能がありますが、関数として数式に組み込むことはできません)。Googleスプレッドシートではブラウザ版・モバイルアプリ版とも利用できます。

SPARKLINEを使うとどう変わるか

普通の表とSPARKLINEを組み合わせた表を比べると、情報量の差は明らかです。

KPI1月2月3月4月5月6月
売上(千円)100120110140130160

これだけだと「6月が一番多い」くらいしか分かりませんが、右端にSPARKLINEを追加すると次のようになります。

KPI1月2月3月4月5月6月推移
売上(千円)100120110140130160(折れ線↗)

折れ線が右肩上がりなのが視覚で分かり、数値とトレンドを同時に把握できるようになります。

SPARKLINE関数の書き方(構文と引数)

基本構文

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

第1引数にグラフに使うデータ、第2引数でグラフの種類や色をカスタマイズします。第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" など)が使えます。デザインを揃えたいときはHEXコードのほうが管理しやすいです。

SPARKLINE関数の基本的な使い方 — 4種類のグラフ

SPARKLINE関数で使えるグラフは4種類です。それぞれ用途と書き方を見ていきましょう。

折れ線グラフ(line)

もっとも基本的なタイプです。charttypeを省略するとこの折れ線になります。

=SPARKLINE(B2:M2)

色と線の太さを変えたい場合はオプションを追加します。

=SPARKLINE(B2:M2, {"color","#2196F3"; "linewidth",2})

月次の売上推移やアクセス数のトレンドを一覧表の中で確認したいときに便利ですよ。

線種を強調したい場合は linewidth13 の範囲で調整するのがおすすめです。3 を超えると小さなセル内では線がつぶれて読みにくくなります。

横棒グラフ(bar)

barタイプは横方向の積み上げ棒グラフを表示します。進捗バーや割合の表現に向いています。

=SPARKLINE(C2, {"charttype","bar"; "max",100; "color1","#4CAF50"; "color2","#E0E0E0"})

この例では、C2の値を100を最大値として進捗バーで表示します。color1が達成部分、color2が残り部分の色です。

複数のセルに同じ最大値を設定すると、バーの長さを揃えて行間で比較できます。

TIP

maxを指定しないと、データの合計値が最大値になります。行ごとに比較したい場合は必ずmaxを統一してください。たとえば達成率を比較する場合は "max",100、金額を比較する場合は最大の見込み額を指定します。

縦棒グラフ(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"})

正の値は緑、負の値は赤で表示されます。勝敗管理や、前月比がプラスかマイナスかの確認に使えますよ。

axis オプションを true にすると、ゼロ位置に水平線が表示されて見やすくなります。

=SPARKLINE(B2:M2, {"charttype","winloss"; "color","#4CAF50"; "negcolor","#F44336"; "axis",true})

SPARKLINE関数の実践応用例

実務でよく使うパターンを4つ紹介します。

応用例1: KPIダッシュボードを1枚にまとめる

KPI一覧表に折れ線のSPARKLINEを並べると、コンパクトなダッシュボードが作れます。

たとえば、以下のような構成です。

KPI名1月2月12月推移
売上(千円)100120150=SPARKLINE(B2:M2)
PV数500052006800=SPARKLINE(B3:M3)
CVR(%)2.12.32.8=SPARKLINE(B4:M4)

「推移」列に次の数式を入れます。

=SPARKLINE(B2:M2, {"color","#2196F3"; "linewidth",2})

数値の列とミニグラフが横並びになるので、詳細な数値とトレンドを同時に確認できます。

色を変えればKPIごとに色分けも可能です。月次報告資料の代わりにもなりますよ。

応用例2: 進捗バーで達成状況を見える化する

タスクの進捗率やKPIの達成率を、セル内の進捗バーで表現できます。

A列にタスク名、B列に達成率(0〜100の数値)が入っている場合の数式です。

=SPARKLINE(B2, {"charttype","bar"; "max",100; "color1","#4CAF50"; "color2","#E0E0E0"})

達成率が75なら、セルの75%が緑、残り25%がグレーで塗られます。

TIP

達成率が100%を超える可能性がある場合は、"max",120 のように余裕を持たせておくと見栄えが良くなります。100%を超えたバーは右端で切れてしまうので注意してください。

応用例3: 売上トップ商品の月次推移を一覧化する

商品マスタに月次売上がある場合、商品ごとの売上トレンドを一覧で把握できます。

SORT関数QUERY関数で売上順に並び替えたうえで、SPARKLINEで推移を表示すると効果的です。

=SPARKLINE(B2:M2, {"charttype","column"; "color","#9E9E9E"; "highcolor","#F44336"})

トップ10商品それぞれの「ピーク月」が赤くハイライトされ、季節性のある商品とそうでない商品をひと目で判別できます。

応用例4: 在庫アラートとして正負グラフを使う

在庫の増減を追跡するシートでは、winlossタイプが活躍します。

「前日比=当日在庫-前日在庫」を計算した列を用意します。その列に対してSPARKLINEを当てると、在庫が増えた日(緑)と減った日(赤)を視覚化できます。

=SPARKLINE(B2:H2, {"charttype","winloss"; "color","#4CAF50"; "negcolor","#F44336"; "axis",true})

棚卸しのたびに「マイナス連続が続いている商品」を発見しやすくなります。発注タイミングの判断材料としても使えますよ。

他の関数と組み合わせる活用テクニック

SPARKLINEは単体でも便利ですが、他の関数と組み合わせるとさらに強力になります。

QUERY関数で集計してからSPARKLINEで可視化

QUERY関数で集計した結果に対して、SPARKLINEでトレンドを表示できます。

=SPARKLINE(QUERY(売上!A:M, "select B,C,D,E,F,G,H,I,J,K,L,M where A='商品X'", 0))

データが追加されても自動で集計し、グラフも更新されます。

FILTER関数で条件抽出した結果をミニグラフにする

FILTER関数で条件に合うデータだけ抽出してから、SPARKLINEでトレンドを描けます。

=SPARKLINE(FILTER(B2:B100, A2:A100="部署A"))

部署別・カテゴリ別のトレンドを切り替えながら表示するダッシュボードに向いています。

ARRAYFORMULAで一括適用する

ARRAYFORMULA関数とSPARKLINEは直接合体できません。ただし、行ごとに数式をコピーする手間を減らす工夫はできます。

推移列にSPARKLINEを1行入力します。その後、フィルハンドルでドラッグするか、Ctrl + D(Mac は Cmd + D)で一括コピーするのが定石です。

IMAGE関数と並べてビジュアル一覧を作る

IMAGE関数で商品画像を表示し、隣のセルにSPARKLINEで売上推移を出します。すると、画像とトレンドが並ぶカタログ風の一覧表が作れます。

商品画像商品名売上推移
=IMAGE(“https://…”)商品A=SPARKLINE(B2:M2)
=IMAGE(“https://…”)商品B=SPARKLINE(B3:M3)

社内のEC運用シートやマーケティング資料に向いています。

条件付き書式と組み合わせて行全体を色分け

条件付き書式で「売上が前月比マイナスの行を赤背景にする」設定をします。すると、SPARKLINEの折れ線と行の背景色が連動して、危険信号がさらに目立ちます。

SPARKLINE関数のオプション完全リファレンス

ここまでに登場したオプションを、グラフタイプ別に整理します。

折れ線グラフ(line)専用オプション

オプション説明
color色名 / HEX線の色
linewidth1〜10線の太さ(推奨: 1〜3)
xmin / xmax数値X軸の最小値・最大値
ymin / ymax数値Y軸の最小値・最大値

横棒グラフ(bar)専用オプション

オプション説明
max数値バーの最大値
color1色名 / HEX1つ目の値の色
color2色名 / HEX2つ目の値の色
emptyzero / ignore空セルの扱い
nanconvert / ignore数値でないデータの扱い

縦棒グラフ(column)・正負グラフ(winloss)共通オプション

オプション説明
color色名 / HEX棒の色
highcolor色名 / HEX最大値の色
lowcolor色名 / HEX最小値の色
firstcolor色名 / HEX最初の値の色
lastcolor色名 / HEX最後の値の色
negcolor色名 / HEX負の値の色
axistrue / falseゼロ軸線の表示
axiscolor色名 / HEX軸線の色
ymin / ymax数値Y軸の最小値・最大値

TIP

オプションを大量に並べると数式が長くなって読みにくいです。社内ルールで「色は #2196F3(青)と #F44336(赤)」のように決めておくと、メンテナンスが楽になります。

SPARKLINE関数のよくあるエラーと対処法

SPARKLINE関数で困ったときの対処法をまとめました。

症状原因対処法
グラフが表示されず数式がそのまま見えるセルの書式が「書式なしテキスト」になっているセルの書式を「自動」に変更してEnterを押し直す
#N/A エラーが出るデータ範囲に数値以外が含まれている文字列や空白を除外するか、"nan","convert" オプションを指定する
#ERROR! が出るオプションの書式が間違っている{"キー","値"} の波括弧・ダブルクォーテーション・セミコロンを確認する
#REF! が出るデータ範囲が削除された / 別シート参照が壊れている参照範囲を見直す。別シート参照は 'シート名'!A1:M1 の形式を確認
棒グラフの長さがバラバラmaxが未設定で行ごとに最大値が異なるbarタイプでは "max",100 のように最大値を統一する
セルが狭くてグラフが見えない行の高さや列の幅が足りない行の高さを30px以上、列の幅を100px以上に広げる
縦棒の色が反映されないオプションキーのスペルミスhighcolor lowcolor negcolor の綴りを確認
Excelで開いたらグラフが消えたSPARKLINE関数はGoogleスプレッドシート専用Excel共有が必要な場合はグラフ画像を別途挿入する

オプションの記述ミスが原因のエラーが多いです。波括弧とセミコロンの位置を確認してみてください。

NOTE

数式が #ERROR! になったとき、セルにマウスを乗せるとツールチップにヒントが表示されます。「Sparkline ‘charttype’ に正しくない値があります」のようなメッセージが出るので、原因の特定に役立ちます。

SPARKLINE関数のよくある質問(FAQ)

Q1. SPARKLINEで表示したグラフを画像として保存できますか?

A. SPARKLINE関数はセル内に動的に描画されます。そのため、画像ファイル(PNG / JPG)として直接エクスポートする機能はありません。

画像化したいときは、まず「ファイル」→「ダウンロード」→「PDF」でシートを書き出します。次にPDFをトリミングする方法が現実的です。

手軽に済ませたい場合は、Cmd + Shift + 4(Mac) や Win + Shift + S(Windows)でスクリーンショットを撮るのもおすすめです。

Q2. SPARKLINEの色を条件によって変えることはできますか?

A. はい、IF関数と組み合わせれば可能です。たとえば「達成率80%以上は緑、未満は赤」にしたい場合は次のように書きます。

=SPARKLINE(B2, {"charttype","bar"; "max",100; "color1", IF(B2>=80, "#4CAF50", "#F44336")})

オプション値の中で関数を呼び出せるため、動的な色分けも実現できます。

Q3. SPARKLINEに凡例やラベルを表示できますか?

A. SPARKLINE単体では凡例・データラベル・軸目盛りなどは表示できません。表示したい場合は通常のグラフ(「挿入」→「グラフ」)を使ってください。SPARKLINEは「文脈の中に置く小さな視覚化」がコンセプトなので、ラベルではなく前後のセルの数値で文脈を補うのが基本です。

Q4. SPARKLINEで複数の系列を1つのセルに重ねて表示できますか?

A. SPARKLINE関数では1セルに1系列のみ表示できます。複数系列を重ねたい場合は、隣接する複数のセルにそれぞれSPARKLINEを置いて並べるか、通常のグラフを使ってください。

Q5. SPARKLINEを使うとシートが重くなりますか?

A. データ量が少なければ気になりませんが、数千行を超えるとスクロール時にラグが出ることがあります。重くなる場合は、SPARKLINE列を必要な行だけに絞るか、サマリーシートを別ファイルに分割してください。

Q6. ExcelでSPARKLINEのような表現はできますか?

A. Excelには「スパークライン」というリボン機能があります(「挿入」→「スパークライン」)。ただし数式ではなく機能なので、SPARKLINE関数のようにIFやQUERYと組み合わせることはできません。Googleスプレッドシートで作ったSPARKLINEはExcelで開くと表示されないため、共有時はPDFやスクリーンショットでの共有がおすすめです。

Q7. SPARKLINEとGOOGLEFINANCE関数を組み合わせて株価チャートを作れますか?

A. はい、定番の組み合わせです。GOOGLEFINANCE関数で取得した株価データをSPARKLINEで可視化すると、ウォッチリスト風の株価ダッシュボードが作れます。

=SPARKLINE(GOOGLEFINANCE("TYO:7203", "price", TODAY()-30, TODAY()))

過去30日間のトヨタ自動車の株価推移をミニグラフで表示できます。

Excelとの違い・使い分け

SPARKLINE関数はGoogleスプレッドシート専用の機能です。Excelには同名の関数がありません。

項目GoogleスプレッドシートExcel
操作方法関数(数式で記述)機能(リボンの「挿入」→「スパークライン」)
グラフタイプline / bar / column / winloss の4種類折れ線 / 縦棒 / 勝敗 の3種類
横棒(bar)タイプあり(進捗バーに便利)なし
カスタマイズオプションで色・軸・スケールを細かく指定リボンのオプションで変更
他関数との組み合わせ数式に組み込めるためIF/QUERY/FILTERと連携可機能なので関数組み込み不可
互換性Excelで開くとグラフが消えるスプレッドシートでは表示されない

大きな違いは操作方法です。スプレッドシートでは数式で記述するため、コピーや条件分岐との組み合わせが簡単です。

Excelのスパークラインはリボンから挿入する独立した機能なので、数式の中に組み込むことはできません。

横棒(bar)タイプがあるのもスプレッドシートならではの強みです。進捗バーや達成率の表現にはスプレッドシートのSPARKLINEが向いていますよ。

TIP

ExcelとGoogleスプレッドシートの両方で運用するワークブックでは、ミニグラフはExcel側のスパークライン機能を使うか、両方で表示できるグラフ画像を貼り付けるのが安全です。

まとめ

SPARKLINE関数を使うと、大きなグラフを挿入せずに表の中でデータの傾向を視覚化できます。

ポイントを整理します。

  • 構文は =SPARKLINE(データ, [オプション]) の2つの引数
  • 折れ線(line)・横棒(bar)・縦棒(column)・正負(winloss)の4種類のグラフが描ける
  • オプションは {"キー","値"; "キー","値"} の形式で指定する
  • barタイプに "max" を設定すると、進捗バーとして使える
  • highcolor / lowcolor / negcolor でハイライトを付けると視認性が大きく上がる
  • KPIダッシュボード・進捗バー・在庫アラート・株価ウォッチリストなど応用範囲が広い
  • QUERY関数FILTER関数IMAGE関数GOOGLEFINANCE関数と組み合わせると表現の幅が一気に広がる
  • Googleスプレッドシート専用で、Excelには同名の関数がない

まずは =SPARKLINE({1,3,2,5,4}) で折れ線グラフの表示を試してみてください。慣れてきたらKPI一覧表に組み込んで、ダッシュボードを作ってみましょう。


関連記事

タイトルとURLをコピーしました