Google Apps Scriptで業務自動化してみた
- 北島コウ

- 2 日前
- 読了時間: 5分
皆さん、こんにちは。
私はどちらかというとMicrosoft系のツール、Power AutomateとかPower Appsを使った自動化を得意としてきたのですが、最近、業務をご依頼いただいたお客様がGoogle Workspaceをご利用中で、かつ複雑な業務を自動化できないかとお悩みだったため、Google Apps Scriptを使った自動化を提案しました。
2週間ほどでデモ版を作り、年末にお見せしたところ非常に喜んでいただけ、実運用に向けて進めていくことになりました。
というわけで、今回はこのGoogle Apps Script(GAS)について紹介したいと思います。
◇過去の記事「かんたんアプリ制作Microsoft PowerAppsとは」(2024/11/12)
◇過去の記事「PADを使った簡単自動化フロー作成例」(2023/10/16)

Google Apps Scriptとは
Google Apps Scriptとは、Googleスプレッドシート、Gmail、Googleカレンダーなどの機能を自動化するためのプログラムツールです。
Microsoft系製品ではVBAマクロという自動化の仕組みがありますが、あれのGoogle版だと思えば、分かりやすいかもしれません。
Java Scriptベースのコード記述が必要で、ノーコード/ローコードツールのようにはいかないので、少しとっつきにくいかもしれませんが、要件を固めさえすれば、いまやコードはChatGPTが全て書いてくれるので、今回初挑戦でもまあまあの出来栄えに作れました。
ただし、顧客課題について生成AIに相談する場合には、商用データ保護(生成AIとの会話内容がインターネット側に流出したり、AIの学習に利用されたりしないような保護)による顧客情報の取り扱いに気を付けましょう。
私はChatGPTのオプトアウト設定をして使っています。
◇過去の記事「ChatGPTの情報漏えい対策」(2025/1/28)
私はGoogle Workspaceは契約していませんが、GASは無料で誰でも使えます。
今回はGoogleスプレッドシートでデータベース的なテーブルを作り、そこに新たなレコードを追加したり、テーブルのデータを検索して、それをもとにファイルを生成したり、ということをGASでやりました。
Microsoft系の場合、Excelは排他制御ができない、つまり共同作業で誰かが操作していると他の人は保存できないという問題があり、データベースとして使うのは難しく、SharePointリストなどを使う必要があります。
それに対してGoogleスプレッドシートは複数ユーザ同時編集を前提に設計され、セル単位でリアルタイム同期するようになっているため、多人数がアクセスするデータベースとしての利用が可能であり、その点、手軽だなと思いました。
本格的なデータベースとして構築するには限界がありますが、数千レコード程度までであれば、十分だと思います。

宅急便の送り状データを自動生成
お客様の課題は、次のような内容です。
各拠点から、顧客ごとの製品を作るための「型」を工場に小包で発送しています。
これまで工場は1ヶ所だったのですが、業容拡大に伴い、複数個所で製造することになりました。
各拠点で、顧客ごとの決められた工場に仕分けして発送したのでは、必ずミスが起きてしまいます。
このような発送ミスを防止できないか、という内容です。
いろいろ調べたところ、ヤマト運輸が法人向けに提供する「B2クラウド」というサービスがあり、宅急便の送り状をデータからインクジェットプリンターで印刷でき、無料で利用できることが分かりました。
印刷用の専用用紙も無料でもらえます。
Googleスプレッドシート上に、顧客ごとの送付先工場を定義しておき、顧客を選択すれば、Webアプリにより該当する送付先工場宛ての送り状データを生成することで、宛先違いを防止するという仕組みを考えました。
「B2クラウド」で送り状を印刷するためのデータフォーマットは決まっており、GASでそのフォーマットどおりにデータを生成することができます。
スプレッドシートによるデータテーブルや、Webアプリの画面イメージは自分で作り、アプリを操作した際の動作も定義して、それをChatGPTに伝えてやることで、GASコードはChatGPTが教えてくれます。
お客様にデモをお見せしたところ、とても満足していただくとともに、こういった仕組みを作るには多額のコストがかかると思われていたようで、私への委託費以外、コストゼロという点でも、非常に評価していただくことができました。
Webアプリで顧客を選択してデータ生成、そして「B2クラウド」で生成したデータを読み込んで印刷ボタンを押すという、2アクションで誤りのない送り状を作成できるということで、大きな効率化が図れると思います。

要件定義と根気が肝心
Google系のアプリ開発ツールには、他にGoogle AppSheetというものもあり、こちらのほうがローコードで比較的作りやすいようですが、今回は「B2クラウド」の専用フォーマットでデータ生成するなど細かな制約があるため、より自由度の高いGASを活用しました。
以前ならコードの勉強からやらないと作れなかったようなプログラムを、ChatGPTに手伝ってもらうことで、簡単にできるようになったのは、本当に画期的なことだと思います。
「簡単」と言っても、一発でうまく動くわけではありません。
エラーが発生するのを一つひとつ潰していく必要がありますので、粘り強い根気が必要です。
今回もデモ版の完成まで、30回以上のデプロイ(プログラムをサーバ上に展開して実行できる状態にすること)を繰り返しました。
また前述のとおり、作るための要件定義(データテーブルや画面イメージ、動作の定義など)はきっちりやり、ChatGPTに条件として示してやる必要があります。
私は企業において、要求部門として、システム開発用の要件定義を何度もしてきました。
ChatGPTという超優秀な開発スタッフができ、要件さえきちんと決めて指示すれば、イメージどおりのものが作れるようになったということかと思います。
今後、Google系のツールについてもさらにスキルを磨き、様々なお客様ニーズに対応していきたいと思います。
では、今回はこの辺で。
宜しくお願い致します。
ニュースレターの最新号をメールでお知らせしますので、こちらのデジタルビズ・トップページより、ぜひ配信登録をお願い致します。














コメント