株式会社スマレジの開発部でスマレジのサーバサイドを作っています

masa式初心者向けGAS勉強法

こんばんは!株式会社スマレジ 、開発部のmasaです。

緊急事態宣言が延長されちゃいましたねー・・・。なかなかお出かけしづらい状況が続いていて辛い時期です。 その一方でワクチン摂取の時期なんかも決まりだして、ようやくコロナ禍にも出口らしきものが見え出してきたのが唯一の救いですね。

さて、今日は最近masa宛にちょこちょこ質問が来ることをお話ししたいと思います。

「GASで効率化したいんだけど、どうしたらいい?」

この手の質問、ちょいちょい来ます。 最近では、スプレッドシートを使っている会社さんも増えてきているのか、スマレジ 社内というよりも 身内や友人に聞かれたりします。

今日はそんなふうな質問を聞いた時に、masaが実施していることを紹介します。

1. 目標を決める

設計や製造系の仕事をなさっていない方の場合は、漠然と「書類仕事を楽したい」というイメージはあっても、 具体的な絵が描けていないことが多いです。

このとき必ず決めるのが、目標です。 GASの場合はルーチン業務の効率化というところなので、基本時間が目標値になるのですが、 「何時間浮かせたいのか」をはっきりさせます。 この時、よく

現在の作業時間 - ツールを使った作業時間 = 目標時間

で目標時間を設定されるのですが、あまりお勧めできないです。 実際にはGASを勉強する時間とツールを作る時間が発生するため、途中で挫けたり他の作業が膨らんでツールを作る時間が取れなかったりと行ったことが よく現場では起こりますし。

肌感ですが、こういう時によく挙げる指標として

(現在の作業時間 - ツールを使った作業時間) * 5 ≧ GASを勉強する時間 + ツールを作る時間

要は「五回分の作業時間差で作りきれるツールにしておこう」ってことです。 例えば、現在の作業時間が1時間、ツール導入後に30分になるのだとすると、2時間半で作りきれるかどうかをイメージしてもらいます。 「え、1時間が半分になるなら、もっと時間がかかったってやったほうがいいじゃん」と思うかもしれないですが、 人間、ある程度努力して効果を実感できない時はやめてしまうことの方が多いので、仮にずっと続く作業であっても、 「まず1ヶ月分の作業」で切って考えてもらうようにしています。

また、上の式は勉強時間も含んでいるので、繰り返しツールを作るようになると右辺がどんどん減っていきます。 右辺が減ると、不等式として成立する(=次に改善することができそうな)ケースがどんどん増えていくのでちょうどいいのかなと思っています。

あとは、「ツールを導入しても作業時間は0にはならない」ことを上の式では確認できるので(なぜかツール導入=作業0の妄想を抱く人も多いので) そういう意味でもいいのかなと思っています。

2. 教材は本ではなくネットで!

いわゆる「GAS入門」的な本を買って勉強をしようとする肩が結構いるんですが、これはお勧めできないです。 お勧めできない理由として、

  • GASはアップデートが頻繁なため、WebのIDE画面が教材と自分のもので異なることがある
  • 高い割に内容が薄い(masaの偏見マシマシです)
  • 教本はGASの不具合まで書いてくれていない

があります。 個人的におすすめなサイトを下に記載します。過去にこのブログで紹介したものもあります。

tonari-it.com

よくお世話になっているサイト様です。

qiita.com

こちらはgoogle slideで資料公開されているので、社内研修・勉強会などで使うのにおすすめです。

あとはYouTubeにもたくさん入門向けの動画があります。 こっちはとてもたくさんあるので、YouTubeGoogle Apps Scriptで検索してみてください。

3. エラーが出てわからない時は、エラー文そのままで検索すること

GASのエラーは基本全て英語で出るので、プログラマでない&英語も苦手な方には面食らって嫌になるところだと思います。 こういう時は、「餅は餅屋」の精神で、エラー文をそのままコピーペーストしてググってください。 どうしてもわからない時は、teratailなどの質問サイトに投稿するか、

issuetracker.google.com

GASの報告済のissue(不具合)一覧です。英語ですが、見たことのあるエラーなどがあったら対応されていないissueかもしれないので、 調べてわからない時はこちらも見てみましょう。