部長「今年の売上を計算してメールで送って欲しくて」【GAS】
部長「これから毎年やってもらうから。」
わし「かしこまりたくねぇ。」
部長「何とか頼んだ。」
わし「んーしかも毎年か。スプレッドシートで売上データ貰ったけど、これボタン1つで計算してメール送信まで出来たりしないかなー。」
前提として
Googleスプレッドシートとは、Googleに登録していると使えるExcelのような機能です。他にもWordに代わるGoogleドキュメント、PowerPointに代わるGoogleスライドが提供されています。
わし「スプレッドシートで計算したり、自動でメールを送る方法を検索...」
わし「このGAS(ガス)ってやつ使えばできるかな?」
GASとは?業務を効率的にするためのプログラミング!
GASとは、Google Apps Scriptの略で、事務作業などをスプレッドシートで行う際に、覚えておくと便利なプログラミング言語です。実際に今回の例を元にGASを試してみましょう。
わし「これが部長からもらった月ごとの売上シート!」
わし「ちなみにこのシートは"売上(万円)"ってことか?」
部長「んや、"売上(円)"や。」
わし「辞めてぇ。」
GASを使ってみる。
わし「まずはGASを書く画面(エディタ)に移動する!」
上のツールバーから、「ツール>スクリプトエディタ」をクリックするとプログラムを書く画面(エディタ)に移動できます。
主に使うのは上の2箇所。コードを書く部分と、そのコードを実行する部分です。
わし「準備おっけーや。今回やることは、
・さっきのシートの月ごとの売上の合計を出す。
・売上をメールで送信する。
の2つ。合計はSUM関数でも簡単に計算出来るけど、練習を兼ねてプログラムとして書いてみる。」
プログラムを書いてみる【売上合計を求めたい】
わし「まず売上を合計する処理を書いてみる!」
わし「//って書いている部分に何をやっているかまとめてみた。」
色々書いていますが、このソースを丸々書くことで元々のシートの「売上」列の数字を全て合計することが出来ます。
6行目のuriageAryには[2000, 2000, 3000, 2000, 1000...]のように毎月の売上が格納されるので、それ値を全て足しこんで11行目でuriageTotalに入れる。という内容です。
わし「つまりuriageTotalには今年の売上額が入っていることになるのか。これをメールで送れば完璧や!」
プログラムを書いてみる【メールで送信したい】
わし「さっきの売上合計をだす処理の下にメールを送信する処理を書いてみた。」
MailApp.sendEmailの中に宛先、タイトル、本文を指定してメールを送信する仕組みを作っていきます。
わし「さっきuriageTotalに合計を入れるようにしたから、これを本文に指定してあげると良さそう。実際には合計額に置き換わってメールが送信されると思う。」
実行してみる。
わし「これで完成!試しに部長アドレスの部分を自分のアドレスにして実行してみる。これで自分にメールが飛んでくるはず。」
わし「実行は上にある三角ボタン。(ポチ)」
わし「......メール来てるかな。」
わし「キタ━(゚∀゚)━!これで毎年貰った金額をシートにコピペして、三角ボタンで実行すればメールが飛ぶようになったわけだ!」
部長「あ、さっきのシート、別にメールで報告しなくてもよかったわ。代わりにWordで売上報告書を作成して共有してくれ。」
わし「辞めてぇ。」
一応気を付けてほしいこと
わし「メールアドレスの指定などを間違えると、内容によっては個人情報流にもつながるので、まずどうでもいいデータで試したり、個人用のシステムを作ってみるほうがいいかもしれない。」
まとめ
今回は事務作業等で活躍する言語、GAS(Google Apps Script)を紹介しました。ExcelのVBAと似たような機能です。メール送信以外にも、仕事管理ツール、自動でシートの書き込み、ちょっとしたWEBアプリ開発、他のツールとの連携など、アイデア次第で使い方は無限大です。Googleに登録しているだけで手軽に使える機能なので、気になった方は一度お試しあれ。自分なりの業務効率化ツールを作ってみてはいかがでしょうか。
参考にしたい本とか記事とか
【書籍】
GASはJavaScriptベースの言語なので、覚えておくとJavaScriptを書く場合にも応用が利きます。
GASから始めるプログラミング入門書としてもおすすめ! |
そもそもスプレッドシートとは?という方へ。
【記事】
GASの基本。わしの記事より100倍分かりやすいので目を通してみて下さい。
身に着けるとこんなことまで出来るよという例。