2025/09/28

AIxGASで業務を改善する第一歩を踏み出そう

想定読者

  • プログラミング未経験 or 初心者の方
  • 社内の業務担当者(総務、人事、経理、営業など)
  • 業務改善に興味がある方
  • AIに興味があるが、どう活用すれば良いかわからない方

この記事のゴール

  • AIを活用して自分自身で業務を効率化する最初の体験をする
  • AIに渡す情報を整理できるようになる
  • GASの雛形をAIに作成してもらい、実際に動かしてみる
  • 簡単な修正依頼やエラー対応ができるようになる

この記事で書かないこと

  • GASの基礎知識(変数、関数、オブジェクト、配列など)
  • 特定のAIサービスそのものの使い方

なぜ「AI x GAS」なのか

多くの企業で導入されているGoogle Workspaceですが、そのアプリケーション(スプレッドシート、Gmail、カレンダーなど)と非常に連携しやすいのがGAS(Google Apps Script)です。そのため、GASは業務改善の第一歩として非常に活用しやすいツールと言えます。

昨今、生成AIの活用が注目されていますが、実際の業務改善においては、AIが直接役立つ場面もあれば、GASのようなツールで解決できる課題も多く存在します。 生成AIは、文章の要約や作成、アイデア出しといった非構造化データの扱いや、自然言語での指示に強みがあります。一方、GASはGoogle Workspace内でのデータ操作や定型業務の自動化に強みがあります。

そこで、業務改善の観点から、まずはGASで自動化できそうな部分を洗い出し、そのGASのコード作成を生成AIに手伝ってもらう。これが、最も身近で効果的な生成AI活用の第一歩としておすすめできる方法です。

生成AIを活用する際のポイント

生成AIは万能ではなく、得意・不得意があります。また、作成されるコードの品質も様々です。生成AIにコードを書いてもらう際に、意識すべきポイントをまとめます。

  • 具体的な要件を伝えること
  • 成果物が正しいか検証する方法を用意すること
  • 成果物を運用する期間や影響範囲を考慮すること

小さなテストから始める

GASに限らず、生成AIを利用して何かを作成する際には、その成果物を検証できる手段を用意することが非常に重要です。例えばGASであれば、いきなり本番のデータで試すのではなく、まずはサンプルのスプレッドシートを用意し、生成されたコードを実行して期待通りの結果が得られるかを確認します。

もし、この検証手順が複雑すぎたり、規模が大きすぎたりする場合は、より本格的なシステム化が必要なサインかもしれません。その際は、無理せず社内のエンジニアに相談するほうが、後々のトラブルを防げます。基本的には「もし壊れても大きな問題にならないもの」や、「影響範囲が自分だけ、あるいはごく一部」といった小さな範囲から始めるのが成功の秘訣です。

生成されたコードはどれくらいの期間使いますか?

生成されたコードが数日で役目を終えるような一時的なものであれば、多少品質が低くても問題ないかもしれません。しかし、数ヶ月、数年にわたって運用するものであれば、生成されたコードの品質をしっかり確認したり、可能であればエンジニアにレビューしてもらったりといった対策を検討しましょう。

小さく始める

繰り返しになりますが、まずは「小さく始める」ことを強くおすすめします。例えば、以下のようなタスクです。

  • スプレッドシートに新しい行が追加されたら、担当者へメールで通知する
  • スプレッドシートの特定列の情報をもとに、Googleカレンダーに予定を登録する
  • スプレッドシートの特定列の情報を、Slackへ定時にメッセージ投稿する

これらは一見簡単な処理ですが、日々手動で行っている業務であれば、自動化によって大幅な改善効果を得られる可能性があります。 スクリプトとしては単純でも、生成AIを活用する練習、そしてGASに慣れるための練習としては十分価値があります。

基本的にプログラムは、「順次(上から順番に実行)」「分岐(もし〜ならA、でなければB)」「反復(〜を繰り返す)」という3つの要素で構成されています。まずはこれらの要素を含む簡単なスクリプトから始めることで、無理なくステップアップしていくことができます。

エンジニアの「要件整理」を真似してみる

良いコードをAIに作ってもらうには、良い指示(プロンプト)が必要です。ここでは、エンジニアがシステムを作る際に行う「要件の分解」を参考に、AIへの指示を整理してみましょう。

1. 入力と出力の形式を決める

まず、何をもとに(入力)、何を作りたいのか(出力)を明確にします。 例えば、入力はスプレッドシートのURL、シート名、見出しが何行目か、どの列に何の情報が入っているか、などを具体的に決めます。他の人にも使ってもらう可能性があるなら、これらの情報をスプレッドシートの特定のセルに入力してもらう形式にすると便利です。

出力は様々ですが、最終的に求めるものがデータの場合は特定のセルに書き込む、カレンダーやGmailとの連携の場合はその連携先でのアクションが「出力」になります。

2. 副作用を明記する

副作用とは、プログラムの実行によって外部(スプレッドシートの外)に影響を与えることです。メール送信、カレンダー登録、ファイルの削除などが典型例です。実は、スプレッドシートへの書き込みも副作用の一種です。副作用がある場合は、その内容と範囲(例:メールが送信される、カレンダーに予定が追加される)を明確にしましょう。

3. 制約や前提条件を明記する

プログラムが守るべきルールや、動作の前提となる条件を明確にします。例えば、「1回の実行で処理するのは最大10行まで」「特定の列が空欄の場合は、その行は処理しない(スキップする)」などです。

4. 実行タイミングを決める

プログラムをいつ動かすかを決めます。手動で実行するのか、毎日決まった時間に自動で実行するのか、Googleフォームが送信されたタイミングで実行するのか、などです。まずは手動実行で確実に動作確認を行い、問題なければタイマー(トリガー)などで自動化するのがおすすめです。

手動実行の場合は、特定の関数名を指定して実行したり、シート内に実行ボタンを配置したりすることも可能です。

5. エラーが起きたときの対応を決める

エラーが発生した場合にどう振る舞うかを決めます。例えば、「特定の一行でエラーが発生しても、処理を止めずにその行だけをスキップして次の行に進む」「エラーの内容をログに記録する」などです。 どのようなエラーが起こりうるか想像するのは難しいかもしれませんが、そんな時こそ「どんなエラーが考えられますか?」と生成AIに聞いてみるのも良い手です。

AIに渡すプロンプトを作ってみる

上記の要件整理を元に、具体的なプロンプトを作成してみましょう。

【タスク要約】
スプレッドシートの新規行を元に、担当者へメール通知するGASコードを作成してください。

【入力仕様】
- 操作対象シートURL:<ここにスプレッドシートのURLを記載>
- タブ名:Tasks
- ヘッダー行:1行目
- 列の構成:日付(A列), 担当者(B列), 内容(C列), 担当者メールアドレス(D列)
- サンプル行:
  - 2025/10/01, 田中, 見積依頼対応, tanaka@example.com
  - 2025/10/02, 佐藤, 請求書発行, sato@example.com

【出力仕様】
- Gmailで通知メールを送信する
- 件名:「【タスク通知】<担当者>さん:<内容>」
- 本文:
  <担当者>さん

  下記タスクをご確認ください。
  日付:<日付>
  内容:<内容>

【実行タイミング】
- まずは手動実行でテストしたいので、実行する関数名を指定できるようにしてください。
- 将来的には時間主導のトリガーで自動化する予定です。

【制約と前提条件】
- 1回の実行で送信するメールは最大10通までとします。
- 担当者メールアドレス(D列)が空の行は処理をスキップしてください。

【エラー対応】
- メールアドレスの形式が不正な行はスキップし、その旨をログに記録してください。
- メールの送信に失敗した場合は、その行の処理のみをスキップし、次の行の処理を継続してください。

【期待する成果物】
1. 処理内容がわかるようにコメントを付けたGASコード(関数名は `sendNotifications` としてください)
2. 作成したコードをGoogle Apps Scriptエディタに貼り付けて使うための手順
3. 最低限の動作確認を行うための手順(例:テスト用のデータ3件)
4. 後から設定を簡単に変更できるよう、シートID・タブ名・列名・メール件名のテンプレートなどを、コード上部の定数としてまとめてください。

このように、要件を具体的に、かつ整理して伝えることが重要です。 特に、4番目の「後から変更しやすいように」といった指示は、非エンジニアがコードをメンテナンスしやすくするために非常に有効です。 生成AIにコードの内容を質問して理解を深めるようにしましょう。

AIとのチャットを新しくするタイミング

生成AIとの対話は、スマートフォンの予測変換に近いものがあります。会話が長くなると、以前の文脈に引っ張られてしまったり、話が噛み合わなくなったりすることがあります。 もし話が逸れてしまったり、AIが意図しない回答を繰り返すようになったりした場合は、こだわらずにチャットセッションを新しくして、再度要件を伝え直すことをおすすめします。

参考: LLMのプロンプトエンジニアリング - O’Reilly Japan

注意事項

機密情報の取り扱いに気をつける

GASのコード内に、APIキーやパスワードといった機密情報を直接書き込まないように注意してください。もし必要な場合は、GASの「プロパティサービス」といった機能を使って安全に管理する方法があります。

また、入力データに個人情報や社の機密情報が含まれる場合は、その情報を生成AIにプロンプトとして提供して良いか、必ず社内のガイドラインを確認してください。

連携サービスの上限に注意する

Gmailの送信通数やGoogleカレンダーへの予定登録回数など、Googleの各サービスには短時間に大量のリクエストを送るとエラーになる「利用上限(クォータ)」が設けられています。作成したGASコードを実行する前に、連携するサービスの利用上限を確認し、必要に応じて上限を超えないように処理を調整しましょう。

まとめ

この記事では、プログラミング経験がない方でも、生成AIとGASを組み合わせて業務改善の第一歩を踏み出すための考え方と具体的なステップを紹介しました。

重要なポイントは以下の通りです。

  1. 「AI x GAS」は業務改善の強力な味方であること: Google Workspaceとの連携がスムーズなGASのコード作成をAIに手伝ってもらうことで、すぐに効果を実感できます。
  2. 「小さく始める」勇気を持つこと: まずは失敗しても影響が少ない、身近な手作業の自動化から挑戦してみましょう。小さな成功体験が次のステップに繋がります。
  3. AIへの「伝え方」を工夫すること: エンジニアのように「要件」を分解し、具体的で分かりやすい指示を出すことが、質の高いコードを手に入れるための鍵です。

生成AIの登場によって、自分が使うスクリプトをすぐに作成できるようになりました。これまでエンジニアに依頼していた業務改善のタスクも、自分で解決できる可能性が広がっています。

また、エンジニアの場合でも、従来は「3回同じことをするなら効率化する」と言われていたことが、生成AIの登場によって、一回限りの作業でも効率化を検討する価値が出てきました。これにより、業務改善のハードルが大幅に下がり、より多くの人が自分の仕事をより良くするための手段を手に入れられるようになりました。