Google Apps Script(GAS)を活用して面倒な業務を自動化!GASの基本を解説

日々の業務で、進捗状況の共有やデータの収集、同じフォームでの資料作成などルーティンワークが自動化できれば…と思うことはありませんか?面倒な業務の自動化は Google Apps Script(以下GAS)を使えば、初心者でも簡単に自動化させることができます。本記事では、GASの基本から活用例まで詳しく紹介します。

GASはgoogleが提供するプログラミング言語

GASはGoogle Apps Script の略で、Googleが開発し提供しているプログラミング言語です。GASはJavaScriptというポピュラーなプログラミング言語をベースにして作られており、学習コストの低いことが魅力です。

Google Apps Script(GAS)の特徴

GASにはどのような特徴があるのか説明します。

まず、完全無料である点です。そのため、初期投資が圧倒的に安くすみます。必要なものはGoogleのアカウントとインターネット環境だけです。しかし、GASはスクリプト言語であるため、勉強は必要です。次に、開発環境が不要なことも大きな特徴として挙げられます。通常、プログラミングする際は自分で開発環境を整えなければなりませんが、GASはGoogleが全て用意してくれている状態のため、Googleのアカウントがあればすぐに始めることができます。本来、プログラミング学習は環境開発の時点で挫折する人も多いですが、GASなら心配ありません。さらに、Googleのサーバーが自動で動作するため、自分のブラウザで起動してテストする必要もありません。

Google Apps Script(GAS)を使ってできること

GASを利用すると、Googleのアプリと連携させて普段の業務を大幅に効率化できます。具体的にどんなことができるのかを見ていきましょう。

Googleアプリの機能拡張

GASを利用することで様々なGoogleアプリの機能を拡張させることが可能です。例えば、Googleスプレッドシートでオリジナルの関数を作成できます。具体的には、自分の環境に合わせた関数を作ることでスプレッドシートの自由度が高くなります。また、スプレッドシートでマクロを組んで毎日の作業を自動化することや、スクレイピングによりWeb上の情報を自動で収集することも可能です。スクレイピングについては後述します。さらに、Googleアプリと連携させることも可能です。以下のアプリと連携可能です。

・Gmail

・Googleカレンダー

・Googleマップ

・Googleドライブ

・Googleドキュメント

・Googleスライド

・Googleフォーム

・Google Keep

・Googleスプレッドシート

例えば、Gmailと連携すると自動でメールを作成し送信できます。スプレッドシートの予定をカレンダーで一括管理することも可能です。

Googleアプリの自動化

自動化することで毎日の業務を省略できることや、効率化できることが魅力です。例えば、勤怠管理は大勢の社員分を手作業で管理すると手間も時間もかかります。他にも、忘れがちな日報や週報の提出を促す連絡も自動送信できます。このような単純な毎日のルーティンワークこそ自動化することで、他の業務に専念できて生産性も上がります。

Googleアプリ以外のツールと連携

GASはGoogleアプリ以外でも連携が可能です。各社が提供しているAPIを利用することで簡単に連携できます。例えば、チャットワークやLINE、Slackなどメッセージングアプリと連携すれば、日報や週報の提出などのリマインドなども自動化できます。他にも、特定の相手からのメールをSlackで通知するシステムや、Googleカレンダーに登録している予定を通知するシステムも作ることができます。このように、メッセージングアプリと連携させれば、仕事を自動化し効率的に行うだけでなく、提出のし忘れやメールに気づかず対応が遅れるなどのミスも減らせるでしょう。

Webスクレイピング

スクレイピングとは何かを詳しく説明します。

スクレイピングとはWebサイトから特定の情報を収集することです。商品の情報や価格、画像などの情報を集めることができます。スクレイピングと聞いてPythonを思い浮かべた方もいるのではないでしょうか。たしかに、Pythonはもともとデータ収集や分析に特化したプログラミング言語です。しかし、Pythonによるスクレイピングだと、必要なPythonのライブラリをインストールしなければなりません。GASだとGASを起動するだけで、セッティングに一切時間がかからないため、簡単に始めることができます。また、Pythonなどを使う場合、サーバーを借りたローカルのPC電源を常時つけておかなければなりませんが、GASの場合はWeb上で実行するため、自前のサーバーも必要ありません。さらに、IMPORTXML関数のおかげで、非常に簡単に実行開始できます。IMPORTXML関数を使えば、Googleスプレッドシートで取得したいサイトURLとデータを指定するだけで収集できます。

Google Apps Script(GAS)を使ってできないこと

GASではできないこともあります。まず、スプレッドシートをGASから新規タブで開くことや、GASでGmailを開くこと、Slideをタブとして開くことといったブラウザ操作はできません。つぎに、GASではローカルに保存されているファイルに直接アクセスして利用することも不可能です。そして、GASではPDF関係のサポートがあまりありません。例えば、GASではPDFを作成する出力作業はできますが、基本的に読み取りや変更などの入力作業はできません。ただし、今後Googleがサポートできるように変更する可能性もあるため、公式サイトで動向を逐一確認しておきましょう。

業務効率を向上させるGoogle Apps Script(GAS)の活用例

ここからは、業務の効率を向上させるGASの具体的な活用例を紹介します。GASにより業務を自動化・効率化する際の参考にしてください。

タスク管理を効率化(Gmailとスプレッドシートを連携)

Gmailとスプレッドシートの内容を連携させることで、スプレッドシートの内容をGmailで共有できます。社内で進捗状況を管理されている会社も多いのではないでしょうか。しかし、進捗状況は担当者が把握していないと意味がありません。Gmailで進捗状況を把握できれば、進捗の抜け漏れなどを防ぐことができます。また、メールの送るタイミングを決めることも可能です。例えば、スプレッドシートに内容や担当者、完了か未完かといった状況、期限などを書き出し、期限まで5日を切っているものは赤色、15日を切っているものは黄色で表示します。これで業務の進捗状況が一目でわかります。そして、期限が過ぎるとGmailにリマインドが送信されるようにプログラムを組むことができます。そうすれば、逐一手動で上司が進捗確認をする労力がなくなり、進捗管理が捗るでしょう。

問合せデータを自動集積(Gmailとスプレッドシートを連携)

メールの内容をスプレッドシートにまとめる業務もGASで自動化しましょう。メールの差出人や内容を手動でコピー&ペーストすることは手間がかかります。Gmailとスプレッドシートを連携させることでGmailの本文から差出人、会社名などを自動で取得しスプレッドシートに集積できます。大まかな手順をご紹介します。最初に、転記するスプレッドシートを作成します。ツールからスクリプトエディタを選択し、エディタ画面にプログラムを入力しましょう。次に、検索条件を指定して一致したメール一覧をGmailから取得します。するとスレッドを取得できるため、スレッドからメール本文を取り出してください。そして、取り出したメール本文から抽出したい文字列を正規表現で入力します。抽出した文字列はスプレッドシートに転記し、処理が終わったメールには処理済みラベルを貼れば、メールの本文をスプレッドシートに自動で転記できます。

返信業務を自動化(googleフォームとGmaiを連携)

Googleフォームは問い合わせや申し込みの受け付けを簡単に行うことができるため、とても便利です。問い合わせが来た際、回答や回答期日をすぐに返信できれば顧客からの印象もよくなりますが、返信業務に追われていては非効率でしょう。

そこで、GASを用いてGoogleフォームとGmailを連携することでGoogleフォームの回答に関して回答のお礼といった返信も自動でできます。フォームを作成したら、フォームの回答先となるスプレッドシートも作成します。スプレッドシートのスクリプトエディタで自動返信に必要なメールアドレスや氏名、問い合わせ内容をフォームから取得し、メールを送信する、という内容のスクリプトを入力してください。最後に、スクリプト実行のトリガー設定をすれば、返信業務の自動化は完了です

データ収集業務効率化(Webスクレイピング)

Web上の情報を手動で収集するには大きな手間がかかってしまいます。しかし、GASを利用すれば、難しい環境開発もせず簡単に収集業務の効率化が可能です。おおまかな手順は、スプレッドシートのツールからスクリプトエディタを選択し、スクレイピングに必要なライブラリをインストールします。そして、GASのコードを入力し、取得したいURLやスプレッドシートのIDなど必要な情報を補完してください。最後に、実行をクリックして動作を確認しましょう。これで、取得したいサイトの情報がスプレッドシートに記載されているはずです。ただし、スクレイピングの際には注意が必要です。ブラウザからではなく、プログラムからのアクセスを禁止しているサイトや、データの再利用を禁止しているサイトも多くあります。必ず利用規約を確認してから実行してください。また、サーバーに大きな負荷がかかると妨害行為とみなされる可能性もあります。間隔をあけて実行するなど短時間で大きな負荷がかからないように注意しましょう。

報告資料作成を効率化(スプレッドシートとgoogleスライドを連携)

スプレッドシートとGoogleスライドを連携することで報告資料の作成も効率化できます。定期的にGoogleスライドで内容の異なる報告資料を作成する方にはおすすめです。なぜなら、GASでスプレッドシートのグラフなどをGoogleスライドに自動でコピペする仕組みを作ることで資料作成の手間を省くことができるためです。一度行ってしまえば手動で実施する手間を省け、さらに記載の漏れもなくなります。ただし、GASでGoogleスライドの中身を自動で書き換えるには、Google Slides APIを有効にする必要があります。そして、スクリプトエディタでスクリプトを変更すれば、ボタン1つでスライドを変更できます。

Google Apps Script(GAS)の開発方式は2種類

GASの開発方式には2種類あります。他のツールと連携せず単独で作動するスタンドアロン型と、スプレッドシートやドキュメントと連携されたコンテナバインド型のスクリプトです。この2つを作るプログラムによって使い分ける必要があります。2種類の開発方式における違いを説明します。

単独で作動するスタンドアロン型スクリプト

スタンドアロン型スクリプトは独立したプログラムを作成する場合に使います。メリットとしてGoogleドライブで表示され管理しやすいことが挙げられます。また、スプレッドシートと連携していないため、コードを秘密にしたい時にも最適です。しかし、コンテナバインド型で実行できるものをスタンドアロン型で作成することは不可能です。また、スプレッドシートを開く際にはIDや名前を指定する必要があります。また、スタンドアロン型スクリプトだとスプレッドシートからGASを実行することはできません。

連携して作動するコンテナバインドスクリプト

コンテナバインドスクリプトはアプリと連携させる場合に使います。メリットとして連携しているGoogleサービスをIDや名前を指定せず使用できる点、スプレッドシートからGASを実行できる点が挙げられます。しかし、管理が一括でできないため、数が増えると管理コストも増えてしまうことはデメリットです。

Google Apps Script(GAS)は初心者でも始められる

GASは初心者でもすぐに始められることが魅力です。GASはJavaScriptをベースとしたプログラミング言語のため、JavaScript経験者であればすぐに習得できます。一方、プログラミング未経験の方は、GASがベースにしているJavaScriptの学習にも繋がります。プログラミングは、初心者にとって開発環境を整えることが大きなハードルです。しかし、GASはGoogleのサーバー上に実行環境があるため、 Googleアカウントがあれば無料ですぐに始めることができます。

GASスタンドがサービスオープン

最後に、GASのアプリケーションを売買する「GASスタンド」というサービスを紹介します。GASスタンドで成功している自動化のツールを購入することで、調べて一から構築する手間もなく、業務を効率化できます。GASは初心者でも始めやすく、インターネットで調べれば情報も公開されているため習得しやすい特徴があります。しかし、知識があっても実際にシステムを構築することは難しいと感じる方も多いのではないでしょうか。GASスタンドでツールを購入すれば、プログラミングができなくても便利な機能を使うことができます。また、GASスタンドでは購入だけでなく販売も可能です。すでに自社や個人で実行しているツールを販売し、収益を得ることが可能です。

自動化できる業務から解放されよう

GASを活用すれば、日々の業務を自動化でき他の業務に時間を割くことができます。GASは Googleが提供しているプログラミング言語です。実行環境がGoogleのサーバー上にあり、環境構築の手間もなく初心者でもすぐに始められます。さらに、GASスタンドを利用すれば、プログラミングをせずに便利な機能を活用できます。自動化できる業務は自動化して、面倒なルーティンワークから解放されましょう。