デザインと心理学の学習メモブログ

はじめてでもできるスプレッドシートの自動化!GASの使い方

はじめてでもできるスプレッドシートの自動化!GASの使い方

「スプレッドシートで効率化したい」「プログラミング初心者だけど、GASを使ってみたい」
そんなあなたに向けて、本記事では Google Apps Script(GAS) の基礎から実際の活用例までを分かりやすく解説します。

プログラミング未経験でも、簡単な自動化・効率化が実現できるので、作業にかける時間をグッと短縮できるはずです。

まずは、GASとは何か、どんなメリットがあるのかを一緒に見ていきましょう。

GASとは

GAS(Google Apps Script)とは、Googleが提供するサーバーサイドのスクリプト言語です。
JavaScript をベースにしており、Webブラウザさえあればだれでも手軽にプログラミングをはじめられます。

スプレッドシートやGmailなどのGoogleサービスを自動化・拡張できる

GASを使う最大のメリットは、スプレッドシートやGmail、Googleカレンダーなどのサービスを自動化・拡張 できる点です。

  • 毎日自動でメールを送る
  • スプレッドシートに入力されたデータを整形して集計する
  • ChatworkやSlackなど、他のWebサービスと連携する
    といったことが、比較的簡単に実装できます。

スプレッドシートでGASを使うための準備

Googleアカウントを用意する

GASを使うためには、Googleアカウント が必要です。すでに持っている方は新規取得の必要はありません。

アカウントをお持ちでない場合は、Googleアカウントの作成ページから作成しましょう。

スプレッドシートを開く

Googleドライブから新規にスプレッドシートを作成するか、既存のスプレッドシートを開きます。

GASの開発環境は、スプレッドシートのメニューから呼び出すことが可能です。

GASのエディタ(スクリプトエディタ)を開く

  1. スプレッドシートを開く
  2. 上部メニューの「拡張機能」をクリック
  3. 「Apps Script」を選択

スプレッドシートを開いた状態で、上部メニューの「拡張機能」 → 「Apps Script」をクリックすると、GASのエディタ画面が起動します。

ブラウザ上でコードを書けるので、特別なアプリのインストールは不要です。

基本的な画面構成

  • プロジェクト設定:スクリプトの基本設定
  • コードエディタ:プログラムを書く場所
  • 実行ボタン:プログラムを動かすボタン

簡単なプログラム作成と実行

それでは、実際に簡単なコードを書いてみましょう。

例:スプレッドシートにデータを書き込む

1. サンプルコード

function myFirstScript() {
  // アクティブなスプレッドシートを取得
  const ss = SpreadsheetApp.getActiveSpreadsheet();
  // 最初のシートを取得
  const sheet = ss.getSheets()[0];
  // A1セルにデータを書き込む
  sheet.getRange("A1").setValue("Hello, Google Apps Script!");
}

2. コードの解説

  • SpreadsheetApp.getActiveSpreadsheet()
    現在開いているスプレッドシートを取得します。
  • getSheets()[0]
    スプレッドシート内のシートの配列を取得し、最初のシート(インデックス0)を呼び出します。
  • sheet.getRange("A1").setValue("Hello, Google Apps Script!");
    A1セルに文字列を書き込みます。

3. 実行方法

  • エディタの上部にある「▶ 実行ボタン」を押します。
  • 初回実行時には権限の承認が必要です。画面の案内に従って承認を行ってください。
  • 実行後、スプレッドシートに戻ってA1セルに文字列が入っていれば成功です。

「承認が必要です」という画面が出たら

以下の操作を試してください。

  1. ダイアログの内容を確認
    「どのサービスにアクセスしようとしているか」「どんな操作を行おうとしているか」を読み、問題がないかをチェックします。
  2. 「続行」または「許可」を選択
    スクリプトの内容に問題がなければ、権限を承認します。
  3. Googleアカウントへのログインを求められたら
    ログイン画面が表示される場合は、指示に従ってログインし、再度承認を行います。

GASでスクリプトを実行した際、初めての操作や新しいサービスへのアクセスを行う場合などに、「承認が必要です」 と表示されたダイアログが出てくることがあります。

これは、GASに対して次のような権限を与える必要があるためです。

  • スプレッドシートの読み書き
  • Gmailの送受信やラベル操作
  • Googleカレンダーの読み書き
  • ドライブ内のファイル操作 など

なぜ承認が必要なの?

GASは、あなたのGoogleアカウントを使って複数のサービスを操作します。

セキュリティ上の観点から、どのサービスをどう操作してよいか を明確にする必要があります。

そのため、権限承認の画面が表示されます。

GASでできること

Gmailの自動送信・自動仕分け

  • 指定した宛先へ自動メール送信
  • 受信メールを条件別にフィルタしてラベル付け など

Googleカレンダーとの連携

  • スプレッドシートのデータからイベントを一括で登録
  • カレンダーの予定をスプレッドシートに一覧化 など

外部APIとの連携

  • AIとの連携(GeminiやChatGPTなど)
  • Web APIを持つサービスに通知を送る(slackやchatwork)
  • 外部の天気APIや為替レートAPIを呼び出しデータを取得 など

定期実行(トリガー機能)

  • 毎朝同じ時間にスプレッドシートを更新 など
  • 日時指定や一定間隔で自動実行できる

スプレッドシート以外のGoogleサービス

GASからは下記のような様々なサービスを利用できます。

  • Googleスプレッドシート
  • Gmail
  • Googleカレンダー
  • Googleフォーム
  • Googleドキュメント
  • Googleスライド
  • Googleドライブ
  • Googleマップ
  • 連絡先
  • Googleサイト
  • Google翻訳

「スタンドアロンスクリプト」と「コンテナバインドスクリプト」

今回のように、

「スプレッドシート」や「ドキュメント」のようなGsuiteサービスのメニューから直接作成されるスクリプトをコンテナバインドスクリプトと言います。

それに対して

特定のコンテナに依存しない、独立して作成されるスクリプトをスタンドアロンスクリプトと言います。

Googleドライブにはスクリプト専用のプロジェクトファイルとして保存します。

GASについてもっと理解するなら

より深い使い方や応用を知りたい場合は、以下のリソースを参考にすると理解が深まります。

  • 公式ドキュメント
    Google Apps Script ドキュメント
    → オブジェクトやメソッドの詳細、サンプルコードなどが充実しています。
  • YouTube / Udemyなどの動画学習
    → 実際にコードを書いている様子を見られるため、初心者の方にもおすすめです。
  • コミュニティ / Q&Aサイト
    • Stack Overflow
    • Qiita
      → 他の人のコード例を参考にしたり、わからないことを質問してみるのも良いでしょう。

まとめ

GASは、JavaScriptに慣れていない初心者でも比較的スムーズに使い始められるスクリプト言語です。

  • スプレッドシートから「Apps Script」を開けばOK
  • 簡単なコードで自動化・効率化が実現できる
  • Gmail、カレンダー、外部サービスとも連携可能

まずは、セルにデータを書き込むシンプルなプログラムを実行してみることで雰囲気をつかみ、徐々に応用例へと進んでいくとスキルアップしやすいでしょう。

GASで作業効率を向上しながら、プログラミングへの理解を深めていってくださいね。