【初心者向け】GASでスプレッドシートにダッシュボードを作成する方法|自動更新もできる完全解説!

「毎日データを手動でまとめるのが大変…」
「スプレッドシートをもっと見やすく、グラフィカルにしたい!」

そんなあなたにぴったりなのが、Google Apps Script(GAS)を使ったスプレッドシートダッシュボード作成です!

この記事では、初心者でもできる
GASでデータをまとめ、グラフや指標を自動で更新するダッシュボードの作り方をわかりやすく解説します!

これを読めば、
"誰が見てもわかる"美しいダッシュボードを、ほぼ放置で維持できるようになります!


1. なぜGASでダッシュボードを作成&自動更新するべきなのか?

スプレッドシートでデータを扱う場面は多いですが、

  • 手動で毎回フィルタ・集計

  • グラフも手動で更新

  • 可視化が間に合わず、データだけ溜まる

こんな課題にぶつかりがちです。

GASを使えば、

  • 必要なデータだけを自動抽出

  • 指標計算も自動化

  • グラフをリアルタイム更新

ができるので、
運用負担ゼロで、常に最新のダッシュボードが保たれます!


2. 【準備編】ダッシュボード自動作成に必要なもの

  • Googleアカウント

  • データが集まるGoogleスプレッドシート

  • Google Apps Script(標準搭載)

これだけでOK!
特別なツールやプラグインは不要です!


3. 【設計編】GASでダッシュボードを作る流れを理解しよう

作る前に全体像をイメージしましょう。

■ ダッシュボード作成・自動化の流れ

  1. データシートから必要な情報を抽出

  2. 集計結果を別シートにまとめる

  3. グラフや指標を作成する

  4. GASで定期的に更新処理を実行

こうすれば、
一度セットすればほぼ自動運用が可能になります!


4. 【基本編】GASでダッシュボードを作成する具体的な方法

では、実際に手を動かしていきましょう!


ステップ① データシートを準備する

例:「売上データ」シートを作成
列構成例:

| 日付 | 商品名 | 金額 | 担当者 |

日々このデータが追加されていく想定です。


ステップ② Apps Scriptエディタを開く

スプレッドシート上部メニューから
「拡張機能」→「Apps Script」→「新しいプロジェクト作成」


ステップ③ 集計&指標計算スクリプトを書く

売上合計&商品別売上を集計してまとめる

function updateDashboard() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const dataSheet = ss.getSheetByName('売上データ');
  const dashboardSheet = ss.getSheetByName('ダッシュボード') || ss.insertSheet('ダッシュボード');
  
  dashboardSheet.clear(); // ダッシュボード初期化

  const data = dataSheet.getRange(2, 1, dataSheet.getLastRow() - 1, 4).getValues();
  
  let totalSales = 0;
  const productSales = {};

  data.forEach(row => {
    const [date, product, amount, person] = row;
    totalSales += amount;
    productSales[product] = (productSales[product] || 0) + amount;
  });

  dashboardSheet.getRange('A1').setValue('売上合計');
  dashboardSheet.getRange('B1').setValue(totalSales);
  
  dashboardSheet.getRange('A3').setValue('商品別売上');
  
  const productData = Object.entries(productSales).sort((a, b) => b[1] - a[1]);
  dashboardSheet.getRange(4, 1, productData.length, 2).setValues(productData);
}

このスクリプトを実行すれば、

  • 売上合計

  • 商品別売上ランキング

が、ダッシュボードシートに自動生成されます!


ステップ④ グラフを自動作成する

続いて、データから自動でグラフも作りましょう!

function createDashboardChart() {
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  const sheet = ss.getSheetByName('ダッシュボード');

  const chart = sheet.newChart()
    .setChartType(Charts.ChartType.COLUMN)
    .addRange(sheet.getRange(4, 1, sheet.getLastRow() - 3, 2))
    .setPosition(2, 4, 0, 0)
    .build();
  
  sheet.insertChart(chart);
}

これで、

  • 商品別売上を棒グラフ化

  • ダッシュボードシートに自動配置

できます!


5. 【応用編】さらに便利な機能を追加しよう!


✅ 前日比・前月比を自動計算

成長率や売上変動も自動算出して、もっと深い分析ができるようになります!


✅ 担当者別売上ランキング

売上担当者別に成績を出して、モチベーション管理や成果把握にも!


✅ 定期トリガーで自動更新

GASの「時間主導型トリガー」を設定すれば、
毎日朝7時に自動集計 → ダッシュボード更新が可能!


6. 【運用編】ダッシュボードを安定運用するポイント


✔️ スプレッドシートは定型フォーマットで管理

列構成やデータ形式を一定にしておけば、スクリプトが安定して動きます!


✔️ 元データは編集制限をかける

意図しないデータ破壊を防ぐため、
入力用シートとダッシュボード用シートは権限を分けるのがおすすめです。


✔️ テスト運用からスタート

いきなり本番データで試さず、まずはテストシートで動作確認しましょう!


7. まとめ|GASでスプレッドシートダッシュボードを作成&自動化して、作業ゼロを目指そう!

GASを使えば、

  • データ抽出

  • 集計・指標作成

  • グラフ化

  • 定期自動更新

まですべて自動化でき、
一度仕組みを作れば、ほぼ手間なしでダッシュボード運用が可能になります!

まずはこの記事の基本スクリプトを真似して、
「売上ダッシュボード」を作るところから始めましょう!

慣れてきたら、

  • 多軸集計

  • ドリルダウン型分析

  • 月次レポート自動生成

など、さらに発展的なダッシュボード作成にもチャレンジしてみてください!

Shop now