AIにお願いして作るGAS自動化入門|プログラミング知識ゼロでも始められる業務改善術

🐤 Lv.1 GAS入門
XP 0
🐤 ⚙️ 🤖 🛡️ 🏆
AIにお願いして作るGAS自動化入門|プログラミング知識ゼロでも始められる業務改善術|解決.com

🤖 AIにお願いして作る
GAS自動化入門
プログラミング知識ゼロでも始められる業務改善術

コードは書かなくていい。AIに作ってもらう時代——解決ドットコム(しごとの解決屋さん)

GAS初心者・ChatGPT GAS・業務効率化スプレッドシート・プログラミング不要自動化・朝ダッシュボードGAS

📌 この記事について
「GASで業務を自動化したいけどコードが書けない」「エラーが出たらどうすればいいか分からない」——そんな理由でGASを諦めていませんか? 今はAIに相談しながらGASを作れる時代です。この記事では、ChatGPTなどのAIを使ってGASを作る方法をSTEP1〜8で解説し、完成版コードもそのまま使える形で提供します。

⏱ 読了目安:約12分 / 🎯 対象:GAS初心者・プログラミング未経験・業務効率化に取り組む方
カイピヨくん

「GASは難しそうに見えるけど、AIに聞きながらなら始めやすいピヨ!大事なのはコードより、何を自動化したいかを整理することピヨ!毎日やっている面倒な作業から探してみるピヨ!🐤」

🎧 音声で聴く「AIにGASを書かせて手作業をなくす」

GASとは何か——Googleサービスを連携・自動化する仕組み

GASを諦めていませんか?コードが書けない・エラーが出たらどうすればいいか分からない(NG)→今は「AIに相談しながら作る」時代です。JavaScriptの知識やエラーを自力で調べる力はもう必須ではありません。プログラミング初心者でも、AIのサポートがあれば今日から業務改善を始められます。 そもそもGAS(Google Apps Script)とは?Googleサービスを連携・自動化するための強力な仕組みです。Google Apps Script(GAS)を中心に:Google Forms・Google Sheets・Gmail・Google Drive・Google Calendar が接続。フォームに問い合わせが入る→スプレッドシートに記録される→担当者に自動でメール通知。このような一連の作業を、すべて自動化できます。
📋 GAS(Google Apps Script)とは?(エビデンス)
GASはGoogleが提供する無料のクラウドベーススクリプト環境で、JavaScriptをベースにしています(Google公式ドキュメント)。Googleスプレッドシート・Gmail・カレンダー・フォーム・ドライブなどのGoogleサービスをAPIで操作できます。

無料:Googleアカウントがあれば無料で使えます
クラウド実行:PCを閉じていても、設定した時間に自動で実行されます
Googleサービス全連携:スプレッドシート・Gmail・カレンダー・フォーム・ドライブを横断して操作できます
トリガー機能:「毎朝8時に実行」「フォーム送信時に実行」など条件を設定できます

昔のGASと今のGASは全然違う——AIが変えた「学習コスト」

比較:昔のGAS vs 今のGAS。昔のGAS(高い壁):JSを勉強する→GASの仕様を調べる→コードを書く→エラーが出る→検索する→修正する。プログラミング知識が必須。今のGAS(スムーズ):やりたい事を整理する→AIへ相談する→コードを作ってもらう→貼り付けて試す→エラーをAIに聞く→修正する。丸暗記不要・コピペで完了。

🔄 GASへの入口が変わった

❌ 旧:JavaScript勉強→GAS仕様調査→コードを書く→エラー→検索→修正(プログラミング知識が必須)
✅ 新:やりたいことを整理→AIへ相談→コードをもらう→貼り付けて試す→エラーをAIに聞く(丸暗記不要・コピペで完了)

AIによって「GASを始めるハードル」が劇的に下がりました。今日から始められます。

ただし「AIへの丸投げ」は失敗する——正しい依頼の法則

AIへの丸投げは失敗の元:「正しい依頼」の法則。AIはあなたの業務内容を知りません。何を自動化したいのか「具体的に」伝えることが成功の鍵です。❌悪い例:GASで業務改善したいです。コードを作ってください。(情報不足で使えないコードが生成される)✅良い例:Googleフォームに問い合わせが入ったら、スプレッドシートへ記録し、担当者へGmailで通知したいです。初心者向けにコードと設定方法を教えてください。(トリガー、アクション、ターゲットが明確!)

❌ 悪い例(情報不足)

「GASで業務改善したいです。コードを作ってください。」

→ 使えないコードが生成される

✅ 良い例(条件が明確)

「Googleフォームに問い合わせが入ったら、スプレッドシートへ記録し、担当者へGmailで通知したいです。初心者向けにコードと設定方法を教えてください。」

→ トリガー・アクション・ターゲットが明確!

まず自動化する業務を探す——「繰り返し作業」がターゲット

自動化の種を見つける(マインドセット)。ポイントは『繰り返し作業』であること。チェックリスト:毎日同じ確認をしている・スプレッドシートへ手入力している・メールを毎回同じ内容で送っている・フォーム回答を確認している・データを別シートへ転記している・毎朝予定やタスクを確認している・未対応件数を数えている。毎回同じ作業をしているなら、それは自動化のサインです。
💡 自動化できる作業チェックリスト(当てはまるものはGASの候補)
□ 毎日同じサイトや表を確認している
□ スプレッドシートへ手動でデータを入力している
□ メールを毎回ほぼ同じ内容で送っている
□ フォームの回答を手動で確認している
□ データを別のシートへコピーペーストしている
□ 毎朝予定やタスクを確認している
□ 未対応件数を毎日カウントしている

1つでも当てはまれば、GASで自動化できる可能性があります。

実践編|朝のダッシュボード作成ロードマップ(STEP1〜8)

実践編:朝のダッシュボード作成ロードマップ。Googleカレンダーの今日の予定をスプレッドシートに自動表示するGASを作成します。①スプレッドシートの用意→②AIへのプロンプト作成→③GASエディタを開く→④コードの貼り付け→⑤初回実行と認証→⑤エラー対応(AI活用)→⑥エラー対応(AI活用)→⑦毎朝の自動更新設定→⑧ブラウザ起動時の設定
1スプレッドシートを用意する
STEP1〜4:準備とコードの生成。①シート名と項目を準備(A1:本日の予定、A2:最終更新、シートタブ名Dashboard)→AIにコードを作ってもらう→Apps Scriptを開く(拡張機能→Apps Script)→最初に入っているコードを消して、AIのコードをコピペする
📖 詳細を見る▼ 展開(+15XP)

Googleドライブで新しいスプレッドシートを作成します。シートのタブ名(下部)をDashboardに変更します。

A列に以下を入力します:

セルA列(入力内容)B列
1行目本日の予定(空欄:GASが自動入力)
2行目最終更新(空欄:GASが自動入力)
3行目未対応問い合わせ(空欄:GASが自動入力)
4行目今日の赤タスク(空欄:GASが自動入力)
⚠️ 重要:シート名は「Dashboard」(大文字のD)と正確に入力してください。GASはシート名を完全一致で検索します。「dashboard」と「Dashboard」は別物として扱われます。
2AIに依頼するプロンプトを作る
📖 詳細を見る(プロンプトあり)▼ 展開(+15XP)

ChatGPTに以下のプロンプトをそのままコピーして貼り付けてください:

あなたはGoogle Apps Scriptの専門家です。 私はプログラミング初心者です。 Googleスプレッドシートで朝の業務ダッシュボードを作りたいです。 目的: Googleカレンダーから今日の予定を取得し、 スプレッドシートの「Dashboard」シートに表示したいです。 条件: ・シート名は「Dashboard」 ・A1に「本日の予定」 ・B1に今日の予定一覧を表示 ・A2に「最終更新」 ・B2に更新日時を表示 ・A3に「未対応問い合わせ」 ・B3に「問い合わせ」シートのD列が「未対応」の件数を表示 ・A4に「今日の赤タスク」 ・B4に「タスク」シートのA列が「赤」かつD列が「完了」以外のタスクを表示 ・初心者向けにコメント付き ・コピペで使えるGASコード ・設定方法も説明してください GASコードを作成してください。

✅ このプロンプトには目的・シート名・列の位置・条件が全て含まれています。これだけ具体的に伝えると、AIも正確なコードを生成できます。

3GASエディタを開く
📖 詳細を見る▼ 展開(+15XP)

スプレッドシートの上部メニューから:

拡張機能 Apps Script エディタが開く

Apps Script画面が開いたら、最初から入っているコード(function myFunction() {})を全て削除して、次のSTEPのコードを貼り付けます。

4完成版コードを貼り付ける(そのまま使えます)
📖 完成版コードを見る(コピペOK)▼ 展開(+15XP)

以下のコードをコピーして、Apps Scriptエディタに貼り付けてください。

// ============================================================ // 朝のダッシュボード自動更新 完成版 // 解決ドットコム(kaik-2.com) // ============================================================ function updateMorningDashboard() { // スプレッドシートを取得 const ss = SpreadsheetApp.getActiveSpreadsheet(); // Dashboardシートを取得 const sheet = ss.getSheetByName("Dashboard"); // シートが見つからない場合はエラーを出して止める if (!sheet) { throw new Error("Dashboardシートが見つかりません。シート名を確認してください。"); } // 現在の日時を取得 const now = new Date(); // 今日の開始時刻(0:00:00) const start = new Date(now); start.setHours(0, 0, 0, 0); // 今日の終了時刻(23:59:59) const end = new Date(now); end.setHours(23, 59, 59, 999); // デフォルトのGoogleカレンダーを取得 const calendar = CalendarApp.getDefaultCalendar(); // 今日の予定を取得 const events = calendar.getEvents(start, end); // 予定がない場合のデフォルトテキスト let scheduleText = "本日の予定はありません。"; // 予定がある場合は「HH:mm〜HH:mm タイトル」の形式で一覧化 if (events.length > 0) { scheduleText = events.map(event => { const title = event.getTitle(); const startTime = Utilities.formatDate( event.getStartTime(), Session.getScriptTimeZone(), "HH:mm" ); const endTime = Utilities.formatDate( event.getEndTime(), Session.getScriptTimeZone(), "HH:mm" ); return `${startTime}〜${endTime} ${title}`; }).join("\n"); } // シートへ書き込み sheet.getRange("A1").setValue("本日の予定"); sheet.getRange("B1").setValue(scheduleText); sheet.getRange("A2").setValue("最終更新"); sheet.getRange("B2").setValue(now); sheet.getRange("A3").setValue("未対応問い合わせ"); sheet.getRange("B3").setValue(countPendingInquiries() + "件"); sheet.getRange("A4").setValue("今日の赤タスク"); sheet.getRange("B4").setValue(getRedTasks()); // 見出し列を太字にして見やすくする sheet.getRange("A1:A4").setFontWeight("bold"); sheet.getRange("B1:B4").setWrap(true); sheet.autoResizeColumns(1, 2); } // ============================================================ // 問い合わせシートの未対応件数をカウント // ============================================================ function countPendingInquiries() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const inquirySheet = ss.getSheetByName("問い合わせ"); // シートがない場合はメッセージを返す if (!inquirySheet) { return "問い合わせシートなし"; } const data = inquirySheet.getDataRange().getValues(); let count = 0; // 2行目から(1行目はヘッダー) for (let i = 1; i < data.length; i++) { const status = data[i][3]; // D列(0始まりなのでindex=3) if (status === "未対応") { count++; } } return count; } // ============================================================ // タスクシートから優先度「赤」かつ未完了のタスクを取得 // ============================================================ function getRedTasks() { const ss = SpreadsheetApp.getActiveSpreadsheet(); const taskSheet = ss.getSheetByName("タスク"); if (!taskSheet) { return "タスクシートなし"; } const data = taskSheet.getDataRange().getValues(); const redTasks = []; for (let i = 1; i < data.length; i++) { const priority = data[i][0]; // A列:優先度 const task = data[i][1]; // B列:タスク名 const status = data[i][3]; // D列:状態 if (priority === "赤" && status !== "完了") { redTasks.push(task); } } return redTasks.length === 0 ? "赤タスクはありません。" : redTasks.join("\n"); }
⚠️ 事前準備:「問い合わせ」シート(A:日付 B:名前 C:内容 D:状態)と「タスク」シート(A:優先度 B:タスク C:期限 D:状態)を作成しておくと、未対応件数と赤タスクも自動表示されます。ない場合は「シートなし」と表示されますが、エラーにはなりません。
5初回実行する(Google認証が出ます)
STEP5〜6:実行・認証・そしてエラーへの対処。初回実行時はGoogleの認証画面が出ます。怖がらずに「許可」を進めてください。AI Consultation Loop:1.エラー発生→2.エラー全文をコピー→3.そのままAIに貼って質問→4.修正コードを再度貼る。エラーが出た時の最強の解決策は「エラー全文をそのままAIに貼る」こと!一部だけではなく全文を貼るのがコツです。
📖 詳細を見る▼ 展開(+15XP)

Apps Script画面の上部で関数名updateMorningDashboardを選択して「実行」をクリックします。

初回はGoogleの認証画面が表示されます:

「このアプリはGoogleによって確認されていません」という画面が出た場合は、「詳細」→「プロジェクト名(安全ではないページ)に移動」→「許可」の順にクリックします。

⚠️ 怖がらなくて大丈夫です:これは自分のGoogleアカウントで自分のスプレッドシートやカレンダーを操作するための確認です。自分で作ったコードなので安全です。

実行完了後、スプレッドシートのDashboardシートを確認してください。B1に今日の予定、B2に更新日時が表示されていれば成功です。

6エラーが出たらAIへ聞く(AIコンサルテーションループ)
📖 詳細を見る(エラー対処プロンプトあり)▼ 展開(+15XP)

エラーが出ても慌てないでください。以下のプロンプトをそのまま使えます:

以下のGASエラーが出ました。 エラー内容: (ここにApps Scriptのエラーメッセージをそのままコピーして貼る) 使っているコード: (ここにコードの全文をそのまま貼る) 私はプログラミング初心者です。 原因を分かりやすく説明し、 修正版コードを作成してください。

🔑 ポイント:エラー全文をそのまま貼ること。「〇〇というエラーが出た」と要約するより、エラーメッセージをそのままコピーする方が正確な修正ができます。

①エラー発生 ②エラー全文コピー ③AIに全文貼って質問 ④修正コードを再貼り付け ⑤再実行

STEP 7 & 8|完全自動化の実現——トリガー設定とChrome連携

STEP7〜8:完全自動化の実現。手動実行から解放される「トリガー」:実行する関数=updateMorningDashboard・イベントのソース=時間主導型・時間ベースのトリガーのタイプ=日付ベースのタイマー・時刻=午前7時〜8時。PCを開いた瞬間に表示:Chrome設定→「起動時」→「特定のページを開く」→朝ダッシュボードのURLを追加。
7毎朝自動で更新するトリガーを設定する
📖 詳細を見る▼ 展開(+15XP)

Apps Script画面の左側の時計アイコン(トリガー)をクリック → 右下の「トリガーを追加」をクリックします。

設定項目選択する値
実行する関数updateMorningDashboard
イベントのソース時間主導型
時間ベースのトリガーのタイプ日付ベースのタイマー
時刻午前7時〜8時

「保存」をクリックして完了です。これで毎朝7〜8時の間にGASが自動実行され、ダッシュボードが更新されます。PCを閉じていても実行されます。

8Chrome起動時にダッシュボードを自動表示する
📖 詳細を見る▼ 展開(+15XP)

Chromeを開く → 右上「︙」→「設定」→「起動時」→「特定のページまたはページセットを開く」を選択 → 朝ダッシュボードのスプレッドシートURLを登録します。

PC起動 Chrome起動 朝ダッシュボード自動表示 GAS更新済み内容が即確認可能

毎朝GASが自動更新し、Chrome起動時に最新のダッシュボードが開きます。これで「PC電源ON→即今日の情報を確認」が実現します。

応用編|ダッシュボードの拡張——複数データを1画面に集約

応用編:ダッシュボードの拡張(複数データの集約)。問い合わせ管理(日付・名前・内容・状態)→「未対応件数」を自動カウントしてダッシュボードに表示。タスク管理(優先度・タスク・期限・状態)→優先度「赤」のタスクだけを抽出して表示→マスターシートDashboardに集約(今週未対応5件・緊急タスク2件・進捗率80%)。AIに追加のコードを依頼するだけで、バラバラの情報を一つの画面に集約できます。
💡 応用:AIへの追加依頼プロンプト(汎用テンプレート)
別のGASを作りたい時は以下を使ってください:
あなたはGoogle Apps Script専門のエンジニアです。 私はプログラミング初心者です。 以下の業務をGASで自動化したいです。 【目的】 (ここに目的を書く:例「Googleフォームに問い合わせが入ったらGmailで通知する」) 【現在の作業】 1. (例:毎日手動でフォーム回答を確認している) 2. (例:対応内容をスプレッドシートに手入力している) 【使っているGoogleサービス】 ・Googleスプレッドシート ・(使っているものを書く:Googleフォーム / Gmail / Googleカレンダーなど) 【シート構成】 ・シート名:(例「問い合わせ」) ・A列:(例「日付」) ・B列:(例「名前」) ・C列:(例「内容」) ・D列:(例「状態」) 【条件】 ・初心者向けにコメントを入れる ・コピペで使える完成版コード ・設定手順も説明する ・エラーが出やすいポイントも教える 上記をもとに、GASコードと設定方法を作成してください。

よくある失敗と解決策(トラブルシューティング)

よくある失敗と解決策(トラブルシューティング)。シート名が違う→GASでは「dashboard」と「Dashboard」は別物として扱われます。完全一致させましょう。列番号がズレている→AIに伝えた列(例:D列が「状態」)と実際のシート構成が合っているか確認します。認証画面で止まる→初回は必ず認証が必要です。自分のアカウントを操作する許可なので進めてOKです。いきなり複雑なものを作って挫折→まずは「今日の予定を出すだけ」など、極小のステップから始めましょう。
症状原因対策
⚠️ シートが見つからないエラーシート名が違う(大小文字含む)「Dashboard」と「dashboard」は別物。完全一致させる
⚠️ 列のデータがズレているAIに伝えた列と実際の列が違うAIに「A列が優先度、B列がタスク名…」と列構成を再度伝える
⚠️ 認証画面で止まる初回実行時の正常な動作「詳細」→「安全でないページに移動」→「許可」で進める
⚠️ 予定が取得されないカレンダーのデフォルト設定の問題AIに「getDefaultCalendar()で取得できない場合の代替コード」を聞く
⚠️ いきなり複雑で挫折最初から作りすぎまず「今日の予定だけ出す」シンプル版から始める

解決ドットコム流・業務改善の哲学

解決ドットコム流・業務改善の哲学。業務を整理する→繰り返し作業を見つける→AIに相談する→GASで自動化する(漏斗図)。GASで最も大切なのは『コードを書くこと』ではありません。本当に大切なのは『毎日繰り返している業務を見つけること』です。GASは魔法ではありませんが、整理された業務には最強の道具になります。

💡 GASで大切なのは「コード」より「業務の整理」

❌ 誤解:「GAS=プログラミングを勉強することから始める」
✅ 正解:「業務を整理 → 繰り返し作業を発見 → AIに相談 → GASで自動化」

GASは魔法ではありません。しかし、整理された業務を自動化するには非常に強力な道具です。まず「毎日繰り返している面倒な作業」を探すことから始めてください。

📝 理解チェック——全4問でGAS×AI知識を確認しよう

全問正解で🏆「GAS自動化マスター」バッジ解放!各問+10XP

問題 1 / 4

Q1. GAS(Google Apps Script)は何のためのツールですか?

① Microsoft Officeを自動化するツール
② Googleサービスを連携・自動化するための無料スクリプト環境
③ Windowsのタスクスケジューラーと同じもの
④ Pythonで書く必要があるプログラム

まとめ|AIを使えばGASは今日から始められる

まとめ&よくある質問。GASは難しそうに見えるけど、AIに聞きながらなら始めやすいピヨ!大事なのはコードより、何を自動化したいかを整理することピヨ!Q:初心者でも使えますか?A:はい。AIに相談しながら小さな自動化から始められます。Q:エラーが出たら?A:エラー全文とコードをAIに貼り付けて、原因と修正版を聞くのが一番の近道です。Q:最初に作るなら?A:今回紹介した「朝のダッシュボード」など、毎日必ず確認する作業がおすすめです。カイピヨくん
📋 今日から始めるためのまとめ
✅ GASは無料・プログラミング知識不要(AIが代わりに書いてくれる)
「繰り返し作業」を探すのが最初のステップ
✅ AIへの依頼は目的・シート名・列構成・条件を具体的に伝える
✅ エラーが出たら全文をそのままAIに貼る(要約は不要)
✅ 最初は「今日の予定を表示するだけ」など、小さく始める
✅ トリガーで毎朝自動実行に設定すれば手動作業がゼロになる
カイピヨくん

「GASは難しそうに見えるけど、AIに聞きながらなら始めやすいピヨ!大事なのはコードより、何を自動化したいかを整理することピヨ!毎日やっている面倒な作業から探してみるピヨ!🐤」

よくある質問(FAQ)

Q. GASは初心者でも使えますか?
はい。AIに相談しながら小さな自動化から始めることができます。ChatGPTなどのAIに「やりたいこと・使っているGoogleサービス・シート名・列構成・条件」を具体的に伝えるだけで、コピペで使えるGASコードを作ってもらえます。プログラミング知識は不要です。
Q. GASで何ができますか?
Googleスプレッドシートの自動更新、Gmail送信、Googleカレンダーの予定取得、フォーム回答通知、問い合わせ件数の自動カウント、赤タスクの自動抽出、LINE WORKS通知など幅広く対応できます。Googleサービス全体を連携・自動化できます。
Q. ChatGPTでGASコードを作れますか?
作れます。ただし、目的・現在の作業・使っているGoogleサービス・シート名・列構成・条件を具体的に伝えることが重要です。「GASで業務改善したい」だけでは情報不足です。この記事のプロンプトテンプレートをそのまま使えます。
Q. エラーが出たらどうすればいいですか?
エラー全文とコード全文をそのままChatGPTに貼り付けて「プログラミング初心者です。原因と修正版コードを教えてください」と聞くのが最も効果的です。一部だけでなく全文を貼ることがポイントです。要約するより全文の方が正確な修正ができます。
Q. 最初に作るなら何がおすすめですか?
Googleカレンダーの今日の予定をスプレッドシートに自動表示する「朝の業務ダッシュボード」がおすすめです。この記事のコードをそのままコピーして使えます。毎日確認する作業を自動化することで、GASの効果をすぐに実感できます。
横田 和也仕組み化の専門家 / 解決ドットコム代表(しごとの解決屋さん)

GAS自動化・業務効率化・仕組み化に関するお悩みは、解決ドットコム(https://kaik-2.com/)へお気軽にご相談ください。「整理+伴走」のアプローチで、あなたの繰り返し作業を一緒に自動化します。

\ 最新情報をチェック /