ADVERTISEMENT

【Googleスプレッドシート】SPARKLINEで棒グラフ!セル内バーチャートの作成

【Googleスプレッドシート】SPARKLINEで棒グラフ!セル内バーチャートの作成
🛡️ 超解決

スプレッドシートでデータの傾向をひと目で把握したいとき、セルの中にグラフを埋め込む方法があれば便利です。しかし、通常のグラフ機能では別のシート上に大きなグラフを配置する必要があり、表の一部として表示するには向いていません。そんなときは、SPARKLINE関数を使います。この関数を使えば、数値データから自動でセル内に棒グラフや折れ線グラフを描画できます。この記事では、SPARKLINE関数で棒グラフ(バーチャート)を作成する手順を詳しく解説します。

【要点】SPARKLINE関数を使ったセル内棒グラフの作成方法

  • =SPARKLINE(データ, {“charttype”,”bar”}) の基本構文: データ範囲を指定するだけで、セル内に縦棒グラフを表示します。
  • オプションで色や最大値をカスタマイズ: グラフの色、バーの最大値、縦棒/横棒の切り替えが可能です。
  • ARRAYFORMULAと組み合わせて一括適用: 複数行に同じ設定のグラフを一度に作成できます。

ADVERTISEMENT

SPARKLINE関数がセル内にグラフを描画する仕組み

SPARKLINE関数は、シート上のセル内だけで完結する小さなグラフ(スパークライン)を生成する関数です。通常のグラフのように別オブジェクトを作成するのではなく、セルに数式の結果としてグラフが描画されます。そのため、表の一部として自然に組み込める点が大きな利点です。棒グラフ(バーチャート)の場合は、縦方向または横方向の棒を並べて各データの大小を視覚化します。SPARKLINE関数は、引数にデータ範囲とオプションを指定するだけで、自動的にグラフを描いてくれます。

SPARKLINEで棒グラフを作成する手順

ここからは、実際にSPARKLINE関数を使って棒グラフを作成する手順を解説します。基本的な縦棒グラフから、横棒グラフ、カスタマイズ方法まで順を追って説明します。

基本的な棒グラフの作成(縦棒)

  1. データを準備する
    数値データを1行または1列に並べます。例えば、A1からA5に売上データを入力します。
  2. グラフを表示したいセルに数式を入力する
    B1セルに次の数式を入力します。
    =SPARKLINE(A1:A5)
    これだけで、A1:A5のデータをもとに縦棒グラフが表示されます。デフォルトでは棒は青色で表示されます。

横棒グラフ(バーチャート)に変更する

  1. オプションでcharttypeを指定する
    SPARKLINE関数の第2引数にオプションを指定します。横棒にするには、次のように記述します。
    =SPARKLINE(A1:A5, {"charttype","bar"})
    これで、各データが横方向の棒グラフで表示されます。
  2. 縦棒に戻す場合は”bar”を省略する
    デフォルトが縦棒のため、charttypeオプションを省略するか、”column”を指定します。
    =SPARKLINE(A1:A5, {"charttype","column"})

色や最大値をカスタマイズする

  1. 棒の色を変更する
    colorオプションで色を指定します。例えば、赤色にする場合は次のようにします。
    =SPARKLINE(A1:A5, {"charttype","bar"; "color","red"})
    カラーコード(例:#ff0000)も使用できます。
  2. 最大値を設定して棒の長さを統一する
    maxオプションで最大値を指定すると、すべての棒がその値に対する相対的な長さで表示されます。例えば、最大値を100に固定したい場合は次のようにします。
    =SPARKLINE(A1:A5, {"charttype","bar"; "max",100})
    これにより、100を超えるデータはセルからはみ出して表示されなくなります。
  3. 複数のオプションを組み合わせる
    セミコロン(;)で区切って複数のオプションを指定できます。色と最大値を同時に設定する例です。
    =SPARKLINE(A1:A5, {"charttype","bar"; "color","green"; "max",200})

複数行にまとめてSPARKLINEを適用する

  1. ARRAYFORMULAと組み合わせる
    複数の行に同じ設定のグラフを表示したい場合、ARRAYFORMULAを使います。例えば、A列にデータが各行に入っている場合、B列に次の数式を入力します。
    =ARRAYFORMULA(SPARKLINE(TRANSPOSE(A1:A10)))
    ただし、ARRAYFORMULAとSPARKLINEの組み合わせはデータの構造に注意が必要です。一般的には、各行ごとに個別のSPARKLINE数式をコピーする方法が簡単です。
  2. 各行に個別に数式を入力する
    各セルに同じ数式を入力するには、最初のセルに数式を入力し、オートフィルで下方向にコピーします。例えば、B1に数式を入力し、B2以降にドラッグしてコピーします。

SPARKLINEで棒グラフを使うときの注意点とよくあるトラブル

データに空白やエラーがあるとグラフが正しく表示されない

データ範囲に空白セルやエラー値が含まれていると、SPARKLINE関数はグラフを正しく描画できません。空白がある場合は、データ範囲を調整するか、IFERRORなどでエラーを回避します。また、文字列が含まれていると無視されるため、数値のみのセルを指定してください。

棒グラフの色が変わらないときはオプションの記述を確認する

オプションを指定しても色が変わらない場合、セミコロンや引用符の位置が間違っている可能性があります。正しい構文は、=SPARKLINE(範囲, {オプション名1,値1; オプション名2,値2})です。オプション名は半角で、値は文字列の場合は引用符で囲みます。また、オプション名と値はカンマで区切り、各オプションはセミコロンで区切ります。

表示が小さすぎる場合の対処法

SPARKLINEはセル内に収まるように自動でサイズ調整されますが、セルの行の高さや列の幅が小さいとグラフがつぶれて見えます。列の幅を広げるか、行の高さを調整することでグラフが見やすくなります。また、フォントサイズを変更してもグラフのサイズには影響しません。

ADVERTISEMENT

SPARKLINEの棒グラフと通常のグラフの違い

項目 SPARKLINEの棒グラフ 通常のグラフ(挿入メニュー)
表示場所 セル内に埋め込み シート上に浮かぶオブジェクト
データ更新の反映 自動更新(数式計算時) 自動更新(設定による)
カスタマイズ自由度 限定的(色、最大値、チャートタイプなど) 高度(軸、凡例、色、スタイルなど多数)
サイズ変更 セルサイズに依存 自由にサイズ変更可能
複数系列の表示 1系列のみ 複数系列可能
用途 簡易的なデータ可視化、表の中での比較 本格的なグラフ、プレゼンテーション

まとめ

SPARKLINE関数を使えば、データの横に手軽に棒グラフを表示できます。基本的な数式は=SPARKLINE(データ)で、オプションを追加することで色や最大値を調整できます。横棒グラフにしたい場合は{"charttype","bar"}を指定します。また、ARRAYFORMULAを利用するかオートフィルでコピーすることで、複数の行に一括適用することも可能です。応用として、条件付き書式と組み合わせて値に応じて色を変えるテクニックもあります。まずは簡単なデータで試して、業務の可視化に活用してみてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。