グラフの書式設定を毎回一から行うのは面倒です。特に、会社やプロジェクトで統一したグラフスタイルを使いたい場合、色やフォントを毎回設定し直すのは大きな手間になります。この記事では、作成したグラフのスタイルをテンプレートとして保存し、別のデータに再利用する方法を解説します。グラフをコピーしてデータ範囲を変更する方法や、シートごとテンプレート化するテクニックを紹介します。
【要点】グラフテンプレートを保存して再利用する3つの方法
- グラフのコピーとデータ範囲変更: 既存グラフをコピーして貼り付け、データ範囲を編集することで、同じスタイルを別のデータに適用できます。
- テンプレートシートの活用: グラフを含むシートごとコピーし、データを差し替える方法で、複数のグラフを一括管理できます。
- Apps Scriptによる自動化: スクリプトを使えばグラフのスタイルをJSONで保存・適用でき、高度な自動化が可能です。
ADVERTISEMENT
グラフテンプレートがない場合の代替手段
Googleスプレッドシートには、Excelのように「グラフテンプレート」を保存する専用機能はありません。しかし、グラフの書式設定はグラフオブジェクト自体に保存されるため、グラフをコピーすればスタイルも一緒に複製されます。この性質を利用して、あらかじめテンプレート用のグラフを作成しておき、新しいデータに対してコピーとデータ範囲の変更を行うことで、統一されたスタイルを維持できます。また、シート全体をテンプレートとして保存すれば、グラフだけでなく、レイアウトや条件付き書式なども再利用できる利点があります。
グラフテンプレートを再利用する具体的な手順
方法1: グラフをコピーしてデータ範囲を変更する
- テンプレートとするグラフをコピーします
グラフをクリックして選択し、Ctrl+C(Windows)またはCmd+C(Mac)でコピーします。右クリックメニューから「コピー」を選んでも構いません。 - 貼り付け先を選んで貼り付けます
グラフを配置したいセルをクリックし、Ctrl+V(Windows)またはCmd+V(Mac)で貼り付けます。同じシート内でも別のシートでも問題ありません。 - グラフのデータ範囲を新しいデータに変更します
貼り付けたグラフをクリックし、右上に表示される「グラフエディタ」アイコン(ペン先のマーク)をクリックします。右側に表示されるパネルで「セットアップ」タブを選び、「データ範囲」の横のグリッドアイコンをクリックして、新しいデータ範囲を選択します。 - 必要に応じてラベルや系列を調整します
データ範囲を変更すると、グラフの系列や軸ラベルが自動的に更新されます。もし期待と異なる場合は、「系列」や「横軸」の設定を確認し、適宜修正してください。スタイルはコピー元のまま引き継がれます。
方法2: テンプレートシートを活用する
- テンプレート用のシートを作成します
希望するグラフスタイルとダミーデータを含むシートを準備します。シート名を「テンプレート」などにして、後で見分けやすくします。 - テンプレートシートをコピーします
シートタブを右クリックし、「コピー」を選択します。コピー先は「既存のスプレッドシート」または「新しいスプレッドシート」から選べます。新しいデータ用のスプレッドシート内にコピーするのが便利です。 - コピーしたシートのデータを差し替えます
コピーされたシートのダミーデータを実際のデータに書き換えます。グラフは自動的に新しいデータを参照するため、スタイルはそのままでデータだけが更新されます。 - 複数グラフがある場合も同様に処理できます
テンプレートシートに複数のグラフが含まれていても、すべてのグラフがコピーされ、データ差し替えで更新されます。レイアウトや条件付き書式も一緒に複製されるため、効率的です。
方法3: Apps Scriptでグラフスタイルを保存・適用する
- スクリプトエディタを開きます
スプレッドシートのメニューから「拡張機能」→「Apps Script」を選択します。 - グラフのスタイル情報を取得する関数を作成します
以下のようなコードで、グラフの書式設定をJSONとして取得できます。このJSONをどこかに保存しておきます。function getChartOptions() { var sheet = SpreadsheetApp.getActiveSheet(); var charts = sheet.getCharts(); var options = charts[0].getOptions(); var json = JSON.stringify(options); Logger.log(json); } - 保存したスタイルを別のグラフに適用する関数を作成します
先ほど取得したJSONを読み込み、グラフのオプションとして設定します。function applyChartOptions(json) { var sheet = SpreadsheetApp.getActiveSheet(); var charts = sheet.getCharts(); var chart = charts[0].modify().setOptions(JSON.parse(json)).build(); sheet.updateChart(chart); } - トリガーやメニューから実行できるようにします
カスタムメニューを作成すれば、ワンクリックでスタイルの保存・適用が可能になります。ただし、スクリプトの実行には権限承認が必要です。
グラフテンプレート活用時の注意点とよくあるトラブル
データ構造が異なるとグラフが崩れる場合があります
コピー元のデータと新しいデータで、行数や列数、ラベルの位置が異なると、グラフが正しく表示されないことがあります。この場合は、データの並びをテンプレートに合わせるか、グラフエディタで系列や軸の設定を手動で修正してください。特に、日付やカテゴリのデータ型が違うと、グラフの種類によってはエラーになることもあります。
グラフの種類が変更されたり、スタイルがリセットされる
データ範囲を変更した際に、グラフの種類が自動的に変更されることがあります。これは、新しいデータの構造に基づいてGoogleスプレッドシートが最適なグラフ種類を提案するためです。希望のグラフ種類を維持するには、データ範囲変更後に「セットアップ」タブでグラフの種類を再度選択してください。また、スタイルを完全に引き継ぐには、コピー元のグラフと同じグラフ種類を選ぶ必要があります。
テンプレートシートを共有するときの注意
テンプレートシートを他のユーザーと共有する場合、ダミーデータがそのまま残っていると混乱を招くことがあります。テンプレート用のシートには、説明や注釈を追加しておくと親切です。また、データ差し替え後のシートをテンプレートとして上書きしないように注意しましょう。
Apps Script使用時の制限
スクリプトでグラフオプションを取得すると、すべての書式設定がJSONとして取得されますが、一部の設定(画像やカスタムフォントなど)は正しく保存されない場合があります。また、大量のグラフを処理する場合は、実行時間制限に注意してください(1回の実行で6分以内)。
ADVERTISEMENT
各方法の比較
| 方法 | 手軽さ | 柔軟性 | 自動化の可否 |
|---|---|---|---|
| グラフコピー | 非常に簡単 | 低い(1グラフずつ) | 不可 |
| テンプレートシート | やや手間(シートコピー) | 中程度(複数グラフ一度に) | 不可 |
| Apps Script | 難しい(コード記述) | 高い(自由なカスタマイズ) | 可能(トリガー設定) |
まとめ
この記事では、Googleスプレッドシートでグラフテンプレートを保存して再利用する3つの方法を解説しました。もっとも簡単なのは、目的のグラフをコピーしてデータ範囲を変更する方法です。複数のグラフを一括管理したい場合は、テンプレートシートを活用すると効率的です。さらに自動化を求めるなら、Apps ScriptでグラフスタイルをJSONとして保存・適用する方法もあります。自分の作業スタイルに合った方法を選び、統一感のあるグラフを素早く作成しましょう。次のステップとして、作成したグラフにさらに条件付き書式やフィルタを組み合わせることで、より見やすいダッシュボードを構築してみてください。
ADVERTISEMENT
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
