導入 / 概論

第1回 概論 ── 生成AI × プログラミングで何ができるか

本研修の出発点となる第1回では、そもそも Google Apps Script(GAS)とは何か から始めて、 スクリプトエディタを実際に開き、「Hello World」を表示するところまでを体験します。 その後、スプレッドシートのセルへの書き込みや四則演算といった基礎を扱い、最後は ChatGPTにGASコードを書かせる プロセスを体験します。

🎯

到達目標

生成AIとプログラミングの連携で実現できる業務効率化の全体像を理解し、自分の手でGASを書いて動かし、AIにコードを書かせるところまで体験できる。

1そもそもGAS(Google Apps Script)とは?

Google Apps Script(GAS、ガス) は、Googleが提供している「Googleサービスを自動操作するためのプログラミング環境」です。 スプレッドシート・Gmail・カレンダー・Googleドライブ・スライド・フォームなど、私たちが普段使っているサービスを、 コードで自動的に動かすことができます。

GAS Google Apps Script 📊 Sheets スプレッドシート 📧 Gmail メール自動送信 📅 Calendar 予定の自動登録 💾 Drive ファイル操作 📑 Slides 資料の自動生成 🔗 外部API 他システム連携
図1:GAS を中心とした Googleサービス × 外部システム連携のイメージ

業務での具体的な使われ方

  • 毎朝、特定のスプレッドシートを集計して、結果を関係者にメール送信する
  • フォームの回答を受け取ったら、自動的にカレンダーに予定を登録する
  • 毎週金曜の17時に、週次レポートを自動生成して PDF にしてDriveに保存する
  • スプレッドシートの顧客リストから、宛名を差し込んだメールを一斉送信する
💡

Excel VBA との大きな違いは「クラウドで動く」こと。パソコンを開いていなくても、Googleのサーバー上で時間どおりに動いてくれます。マクロが入った Excelファイルを開いておく必要もありません。

2GASでできることの全体像

GASでできることは膨大ですが、まずは「自分の業務にどう効くか」を3つの軸で押さえます。

1
定型作業の自動化

毎日/毎週/毎月の決まった作業を、人の手を介さずに実行できる。集計、メール送信、レポート出力など。

2
データの連携

スプレッドシートと Gmail、フォームとカレンダーなど、複数のサービスをまたいだワークフローを構築できる。

3
外部システムとの接続

外部APIを呼び出して、社外のデータベースやWebサービス(翻訳、決済、SNSなど)と連携できる。

本研修で扱う「3つのレイヤー」

本研修では、以下の3つのレイヤーで業務を自動化する力を段階的に身につけていきます。

レイヤー主な技術
① 単体作業の自動化 GASVBA スプレッドシートの集計、メール一括送信
② 分析・可視化 GASPython データを集めてグラフ化、ダッシュボード作成
③ AIとの統合 ChatGPTGAS AIに文章生成・コード生成させて資料を自動作成

3GASは「どこに」書くのか?

「プログラミング」と聞くと専用のソフトを入れる必要があるイメージがありますが、GAS は ブラウザだけで完結します。インストール不要、Googleアカウントがあればすぐに始められます。

スプレッドシートからスクリプトエディタを開く

Googleスプレッドシート 1 スプレッドシートを開く (空でも既存のものでもOK) 新規作成: sheets.new メニューバー 2 「拡張機能」をクリック → メニューから 「Apps Script」を選択 スクリプトエディタ 3 別タブで開く ここに GAS のコードを 書いて実行する
図2:スプレッドシートからスクリプトエディタを開くまでの3ステップ

スクリプトエディタの画面構成

⚡ Apps Script 無題のプロジェクト ▷ 実行 🐞 デバッグ 📜 ログ ファイル 📄 コード.gs ライブラリ サービス プロジェクトの設定 トリガー 実行数 1 function myFunction () { 2 Logger . log ( "Hello, GAS!" ); 3 } ▼ 実行ログ [12:34:56] 情報 Hello, GAS! A B C
図3:スクリプトエディタの主要エリア(A コード入力 / B 実行ログ / C 実行・デバッグボタン)
  • A:コード入力エリア ここに JavaScript 風の文法でコードを書きます。拡張子は .gs
  • B:実行ログエリア Logger.log() の結果や、実行時のメッセージが表示されます
  • C:実行・デバッグボタン ▷ボタンでコードを実行できます。隣の関数名選択で、どの関数を実行するか決められます

初回実行時は権限の承認が必要です。「このアプリは Google で確認されていません」と表示されたら、「詳細」→「(プロジェクト名)に移動」→「許可」の順にクリックしてください。これは自分が自分のアカウントに対してスクリプトを動かす許可を出している、という意味です。

4初めての「Hello World」

プログラミング学習の伝統「Hello World」を、GASでもやってみましょう。スクリプトエディタを開くと、最初から以下のような関数のひな形が用意されています。

コード.gs(初期状態)
function myFunction() {

}

この myFunction の中に、次の1行を書き加えてください。

コード.gs ── ① Hello World
function myFunction() {
  // 実行ログに文字列を出力する
  Logger.log("Hello, GAS!");
}

実行手順

  1. コードを書き終えたら、上部の 💾 保存 アイコンをクリック(または Ctrl + S / ⌘ + S
  2. 関数名の選択ボックスが myFunction になっていることを確認
  3. ▷ 実行 ボタンをクリック
  4. 初回は「承認が必要です」のダイアログが出るので、自分のGoogleアカウントで許可
  5. 画面下部の「実行ログ」に Hello, GAS! と表示されればOK!

これだけで、あなたはもう「コードを書いて動かせる人」になりました。あとはこの土台に、できることを一つずつ積み上げていくだけです。

5スプレッドシートのセルに書き込む

次は、開いているスプレッドシートの A1セル に「こんにちは」と書き込んでみましょう。GASの真骨頂です。

登場する命令の構造

SpreadsheetApp スプレッドシート全体 getActiveSpreadsheet() 開いているファイル getActiveSheet() 開いているシート getRange("A1") セル指定
図4:「大きいもの → 小さいもの」の順でたぐっていくのがGAS流

つまり、「Googleの全スプレッドシート」 → 「今開いているファイル」 → 「今開いているシート」 → 「A1セル」と、入れ子の階層を順に降りていくイメージです。最後に setValue("こんにちは") で値を書き込みます。

コード.gs ── ② A1セルに書き込む
function writeHello() {
  // 1. 今開いているスプレッドシートの、現在のシートを取得
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  // 2. A1セルを指定して、値を書き込む
  sheet.getRange("A1").setValue("こんにちは");
}

実行と確認

  1. 関数名選択を writeHello に切り替えて ▷ 実行
  2. スプレッドシートのタブに戻って A1セルを見る
  3. 「こんにちは」と表示されていれば成功!

応用:複数のセルにまとめて書き込む

コード.gs ── ③ A1〜A3に一気に書き込む
function writeMulti() {
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();

  sheet.getRange("A1").setValue("商品名");
  sheet.getRange("A2").setValue("りんご");
  sheet.getRange("A3").setValue("みかん");
}
i

getRange の引数は、"A1" のような文字列でも、getRange(行, 列) のように行番号・列番号でも指定できます。たとえば getRange(1, 1) は A1セル、getRange(2, 3) は C2セルを指します。

6変数と四則演算の基礎

「セルに固定の値を書く」のは、ただのコピペとあまり変わりません。プログラミングの真の威力は 計算結果を書き込めること にあります。

変数 ── 値に名前をつけて取っておく

変数は、値を入れておく「箱」のようなものです。GASでは const(定数)または let(再代入可)を使って宣言します。

コード.gs ── ④ 変数の基本
function variableDemo() {
  const name = "佐藤";       // 文字列を入れる
  const age = 35;            // 数値を入れる
  const isStaff = true;     // 真偽値(true / false)

  Logger.log(name);    // → 佐藤
  Logger.log(age);     // → 35
  Logger.log(isStaff); // → true
}

四則演算 ── プログラムで計算する

+足し算
10 + 5 → 15
引き算
10 - 5 → 5
*かけ算
10 * 5 → 50
/割り算
10 / 5 → 2
%あまり
10 % 3 → 1

これらを組み合わせて、たとえば「税込価格を計算してセルに書き込む」プログラムを書いてみましょう。

コード.gs ── ⑤ 税込価格を計算する
function calcTax() {
  // 商品の単価と数量
  const price = 1200;
  const quantity = 3;
  const taxRate = 0.1; // 消費税 10%

  // 小計と税込合計を計算
  const subtotal = price * quantity;
  const total = subtotal * (1 + taxRate);

  // シートに結果を書き込む
  const sheet = SpreadsheetApp.getActiveSpreadsheet().getActiveSheet();
  sheet.getRange("A1").setValue("小計");
  sheet.getRange("B1").setValue(subtotal);
  sheet.getRange("A2").setValue("税込合計");
  sheet.getRange("B2").setValue(total);

  Logger.log("小計: " + subtotal);
  Logger.log("税込: " + total);
}

実行すると、A1〜B2 に「小計」「税込合計」と計算結果が書き込まれます。これがプログラムの威力です。単価や数量を変えるだけで、何百件・何千件の計算も一瞬で終わります。

💡

文字列と数値の足し算に注意。"小計: " + subtotal のように、文字列と数値を + でつなぐと、自動的に文字列として連結されます。これはGAS(JavaScript)の便利な機能です。

7AIにコードを書かせる

ここまで、自分の手でコードを書いてきました。しかし2026年の現在、「自分で書く」と「AIに書いてもらう」は半々で運用するのが現実的なスタイルです。本研修でも、第2回からこのスタイルを徹底していきます。

AI × GAS の学習サイクル

① やりたいこと 業務の言葉で記述 ② AIに依頼 プロンプトを送る ③ コード生成 GASコードが出力 ④ GASに貼る エディタにコピペ ⑤ 実行・検証 うまく動くか確認 ⑥ 修正依頼 AIにエラーを伝える ⑥ → ② のループで、AIと対話しながらコードを完成させていく
図5:AI × GAS の学習サイクル(生成 → 実行 → 検証 → 改善)

良いプロンプトの3要素

要素内容
① ロール AIに役割を与える 「あなたはGASの専門家です」
② 目的 何をしたいかを書く 「スプレッドシートのA列の合計をB1に書き込みたい」
③ 制約 条件・前提を明示する 「初心者向けに、コメントを多めに書いてください」

そのまま使えるプロンプト例

下のプロンプトをそのままChatGPTに貼り付けて、出力されたコードをスクリプトエディタに貼り付けて実行してみてください。

🪄 ChatGPT へのプロンプト ── 入門
あなたはGoogle Apps Script(GAS)の専門家です。 プログラミング未経験のビジネスパーソン向けに、以下の処理を行うGASのコードを書いてください。 【やりたいこと】 今開いているスプレッドシートのアクティブなシートに対して、 - A1セルに「商品名」、B1セルに「単価」、C1セルに「数量」、D1セルに「税込価格」というヘッダーを書き込む - A2以降に3件の商品データ(自由に設定)を入れる - 各行の税込価格(単価 × 数量 × 1.1)をD列に計算して書き込む 【制約】 - コメントを多めに書いて、初学者でも読めるようにしてください - 消費税率はわかりやすく定数として宣言してください - 関数名は createPriceTable にしてください

動作確認のチェックポイント:① 関数名が createPriceTable になっているか/② 実行時にエラーが出ないか/③ A1〜D4 に期待通りのデータが入っているか/④ D列の値がきちんと「単価 × 数量 × 1.1」になっているか。

うまく動かなかった時のプロンプト

AIが出したコードがエラーを返した時は、エラーメッセージを そのままコピーして AIに伝えるのが鉄則です。

🔧 ChatGPT へのプロンプト ── デバッグ依頼
先ほど作ってもらったコードを実行したところ、以下のエラーが出ました。 エラーの原因と、修正したコード全文を教えてください。 【エラーメッセージ】 (ここに、GASの実行ログに出たエラーメッセージをそのまま貼る) 【期待していた動作】 (ここに、本来動いてほしかった内容を1〜2行で書く)

AIの出力をそのまま信じすぎないこと。AIは時々、存在しない関数名や、古いAPIの呼び出し方を提示することがあります(ハルシネーション)。必ず 実行して動作を確認 し、おかしければ「動きませんでした」と伝えて修正してもらいましょう。

HW

第1回の宿題

次回までに、以下の3つに取り組んでください。所要時間:30〜45分程度
1

教材のコードを実際に動かしてみる

本ページの ①Hello World/②A1セル書き込み/③複数セル書き込み/⑤税込計算 の4つのコードを、自分のスプレッドシートに貼り付けて実行してください。実行ログとスプレッドシートの両方で、結果が想定通りになっているか確認しましょう。

2

ChatGPTにプロンプトを投げてGASコードを生成させる

本ページの 「そのまま使えるプロンプト例(createPriceTable)」 を ChatGPT に貼り付けて、出力されたコードをスクリプトエディタに貼り付け、実行してみてください。期待通りの表ができたか、自分の目で確認します。

3

自分でプロンプトをアレンジして、別の表を作らせる

上記のプロンプトを参考に、自分の業務に近い表(例:来客数 × 客単価 × 営業日数で売上を計算する、社員リストに勤続年数を計算するなど)を ChatGPT に生成させ、GASで動くところまで持っていってください。うまくいかなかった場合は、エラーメッセージを ChatGPT に伝えて修正してもらう 体験までやってみましょう。次回の冒頭で、3名ほどに「どんな表を作ったか」を共有してもらいます。

📩

提出方法:宿題③で作成したスプレッドシートのURL、ChatGPTに送ったプロンプト、最終的に動いたGASコードの3点を、研修事務局へメールでご提出ください。提出期限:次回研修の前日17:00まで。

← 各回一覧に戻る 第2回(資料作成中)→