🐤 Lv.1 GAS入門
XP 0
🐤
⚙️
🤖
🛡️
🏆
🤖 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(Google Apps Script)とは?(エビデンス)
GASはGoogleが提供する無料のクラウドベーススクリプト環境で、JavaScriptをベースにしています(Google公式ドキュメント)。Googleスプレッドシート・Gmail・カレンダー・フォーム・ドライブなどのGoogleサービスをAPIで操作できます。
✅ 無料:Googleアカウントがあれば無料で使えます
✅ クラウド実行:PCを閉じていても、設定した時間に自動で実行されます
✅ Googleサービス全連携:スプレッドシート・Gmail・カレンダー・フォーム・ドライブを横断して操作できます
✅ トリガー機能:「毎朝8時に実行」「フォーム送信時に実行」など条件を設定できます
昔のGASと今のGASは全然違う——AIが変えた「学習コスト」
🔄 GASへの入口が変わった
❌ 旧:JavaScript勉強→GAS仕様調査→コードを書く→エラー→検索→修正(プログラミング知識が必須)
✅ 新:やりたいことを整理→AIへ相談→コードをもらう→貼り付けて試す→エラーをAIに聞く(丸暗記不要・コピペで完了)
AIによって「GASを始めるハードル」が劇的に下がりました。今日から始められます。
ただし「AIへの丸投げ」は失敗する——正しい依頼の法則
❌ 悪い例(情報不足)
「GASで業務改善したいです。コードを作ってください。」
→ 使えないコードが生成される
✅ 良い例(条件が明確)
「Googleフォームに問い合わせが入ったら、スプレッドシートへ記録し、担当者へGmailで通知したいです。初心者向けにコードと設定方法を教えてください。」
→ トリガー・アクション・ターゲットが明確!
まず自動化する業務を探す——「繰り返し作業」がターゲット
💡 自動化できる作業チェックリスト(当てはまるものはGASの候補)
□ 毎日同じサイトや表を確認している
□ スプレッドシートへ手動でデータを入力している
□ メールを毎回ほぼ同じ内容で送っている
□ フォームの回答を手動で確認している
□ データを別のシートへコピーペーストしている
□ 毎朝予定やタスクを確認している
□ 未対応件数を毎日カウントしている
1つでも当てはまれば、GASで自動化できる可能性があります。
実践編|朝のダッシュボード作成ロードマップ(STEP1〜8)
1スプレッドシートを用意する
📖 詳細を見る▼ 展開(+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認証が出ます)
📖 詳細を見る▼ 展開(+15XP)
Apps Script画面の上部で関数名updateMorningDashboardを選択して「実行」をクリックします。
初回はGoogleの認証画面が表示されます:
「このアプリはGoogleによって確認されていません」という画面が出た場合は、「詳細」→「プロジェクト名(安全ではないページ)に移動」→「許可」の順にクリックします。
⚠️ 怖がらなくて大丈夫です:これは自分のGoogleアカウントで自分のスプレッドシートやカレンダーを操作するための確認です。自分で作ったコードなので安全です。
実行完了後、スプレッドシートのDashboardシートを確認してください。B1に今日の予定、B2に更新日時が表示されていれば成功です。
6エラーが出たらAIへ聞く(AIコンサルテーションループ)
📖 詳細を見る(エラー対処プロンプトあり)▼ 展開(+15XP)
エラーが出ても慌てないでください。以下のプロンプトをそのまま使えます:
以下のGASエラーが出ました。
エラー内容:
(ここにApps Scriptのエラーメッセージをそのままコピーして貼る)
使っているコード:
(ここにコードの全文をそのまま貼る)
私はプログラミング初心者です。
原因を分かりやすく説明し、
修正版コードを作成してください。
🔑 ポイント:エラー全文をそのまま貼ること。「〇〇というエラーが出た」と要約するより、エラーメッセージをそのままコピーする方が正確な修正ができます。
①エラー発生
→
②エラー全文コピー
→
③AIに全文貼って質問
→
④修正コードを再貼り付け
→
⑤再実行
STEP 7 & 8|完全自動化の実現——トリガー設定とChrome連携
7毎朝自動で更新するトリガーを設定する
📖 詳細を見る▼ 展開(+15XP)
Apps Script画面の左側の時計アイコン(トリガー)をクリック → 右下の「トリガーを追加」をクリックします。
| 設定項目 | 選択する値 |
| 実行する関数 | updateMorningDashboard |
| イベントのソース | 時間主導型 |
| 時間ベースのトリガーのタイプ | 日付ベースのタイマー |
| 時刻 | 午前7時〜8時 |
「保存」をクリックして完了です。これで毎朝7〜8時の間にGASが自動実行され、ダッシュボードが更新されます。PCを閉じていても実行されます。
8Chrome起動時にダッシュボードを自動表示する
📖 詳細を見る▼ 展開(+15XP)
Chromeを開く → 右上「︙」→「設定」→「起動時」→「特定のページまたはページセットを開く」を選択 → 朝ダッシュボードのスプレッドシートURLを登録します。
PC起動
→
Chrome起動
→
朝ダッシュボード自動表示
→
GAS更新済み内容が即確認可能
毎朝GASが自動更新し、Chrome起動時に最新のダッシュボードが開きます。これで「PC電源ON→即今日の情報を確認」が実現します。
応用編|ダッシュボードの拡張——複数データを1画面に集約
💡 応用:AIへの追加依頼プロンプト(汎用テンプレート)
別のGASを作りたい時は以下を使ってください:
あなたはGoogle Apps Script専門のエンジニアです。
私はプログラミング初心者です。
以下の業務をGASで自動化したいです。
【目的】
(ここに目的を書く:例「Googleフォームに問い合わせが入ったらGmailで通知する」)
【現在の作業】
1. (例:毎日手動でフォーム回答を確認している)
2. (例:対応内容をスプレッドシートに手入力している)
【使っているGoogleサービス】
・Googleスプレッドシート
・(使っているものを書く:Googleフォーム / Gmail / Googleカレンダーなど)
【シート構成】
・シート名:(例「問い合わせ」)
・A列:(例「日付」)
・B列:(例「名前」)
・C列:(例「内容」)
・D列:(例「状態」)
【条件】
・初心者向けにコメントを入れる
・コピペで使える完成版コード
・設定手順も説明する
・エラーが出やすいポイントも教える
上記をもとに、GASコードと設定方法を作成してください。
よくある失敗と解決策(トラブルシューティング)
| 症状 | 原因 | 対策 |
| ⚠️ シートが見つからないエラー | シート名が違う(大小文字含む) | 「Dashboard」と「dashboard」は別物。完全一致させる |
| ⚠️ 列のデータがズレている | AIに伝えた列と実際の列が違う | AIに「A列が優先度、B列がタスク名…」と列構成を再度伝える |
| ⚠️ 認証画面で止まる | 初回実行時の正常な動作 | 「詳細」→「安全でないページに移動」→「許可」で進める |
| ⚠️ 予定が取得されない | カレンダーのデフォルト設定の問題 | AIに「getDefaultCalendar()で取得できない場合の代替コード」を聞く |
| ⚠️ いきなり複雑で挫折 | 最初から作りすぎ | まず「今日の予定だけ出す」シンプル版から始める |
解決ドットコム流・業務改善の哲学
💡 GASで大切なのは「コード」より「業務の整理」
❌ 誤解:「GAS=プログラミングを勉強することから始める」
✅ 正解:「業務を整理 → 繰り返し作業を発見 → AIに相談 → GASで自動化」
GASは魔法ではありません。しかし、整理された業務を自動化するには非常に強力な道具です。まず「毎日繰り返している面倒な作業」を探すことから始めてください。
📝 理解チェック——全4問でGAS×AI知識を確認しよう
全問正解で🏆「GAS自動化マスター」バッジ解放!各問+10XP
問題 1 / 4
Q1. GAS(Google Apps Script)は何のためのツールですか?
① Microsoft Officeを自動化するツール
② Googleサービスを連携・自動化するための無料スクリプト環境
③ Windowsのタスクスケジューラーと同じもの
④ Pythonで書く必要があるプログラム
Q2. AIへGASを依頼する際、「正しい依頼」の条件として最も重要なのはどれですか?
① 「便利なGASを作って」と一言で頼む
② 目的・使っているGoogleサービス・シート名・列構成・条件を具体的に伝える
③ 「業務改善したいです」とだけ伝える
④ プログラミングの専門用語を使って伝える
Q3. GASでエラーが出た時の最も効果的な対処法はどれですか?
① エラーを無視してもう一度実行する
② エラーの種類だけを要約してAIに伝える
③ エラー全文とコード全文をそのままAIに貼り付けて修正を依頼する
④ GASを諦めて別の方法を探す
Q4. GASで自動化に向いているのはどれですか?
① 毎月1回だけやる年次報告書の作成
② 一度限りのデータ整理作業
③ 毎日同じ手順で行う繰り返し作業(問い合わせ件数確認・予定確認など)
④ 手書きで記入する紙の書類への入力
まとめ|AIを使えばGASは今日から始められる
📋 今日から始めるためのまとめ
✅ 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/)へお気軽にご相談ください。「整理+伴走」のアプローチで、あなたの繰り返し作業を一緒に自動化します。