書籍概要

ケーススタディでしっかり身につく! Google Apps Script超入門

著者
発売日
更新日

概要

基礎の文法から自動化のコツまで,この1冊でわかる!

  • 毎日決まった時間でGmail送信
  • Googleフォームで取ったアンケートの集計……

日々の業務のなかに,「ちょっとだけめんどうくさい」定型的な仕事はありませんか?

実はそれらはプログラミングを勉強すれば,一瞬で終わらせることができるんです!

冒頭であげたような「業務でよくある課題」を題材に,プログラミングの基本から丁寧に解説。

さらに,現役のプログラマがコードを作る際の1つ1つの過程が追えるため,応用に必要な「プログラミングの考え方」がしっかりと身に付きます!

こんな方におすすめ

  • Google Apps Scriptを使って自動化をしたい方
  • Google Apps Scriptでプログラミングを始めたい方

著者から一言

「あなたはなぜプログラミングができるようになりたいのですか?」

と聞かれたらなんと答えますか? ノンプログラマを対象にしている本書を手にとってくれたみなさんがどのような動機を持っているのかを知りたいと思いまして。

  • 流行ってるから
  • 仕事や就職で有利になりそうだから
  • 趣味を増やしたいから
  • カッコよさそうだから

などなど,いろいろな動機があると思います。なかには下記のような課題感を持っている方もいるでしょう。

  • 毎日の単純作業を無駄と感じている
  • 自動処理をさせることでミスを減らしたい
  • 業務の自動化をしたい
  • そしてこれらを誰かに頼むのではなく,自分でできるようになりたい!

本書はこのような課題感を持った方に向けて,「プログラミング初心者が業務の自動化をできるようになる」ことを目指しています。
10 年前,5 年前に比べて,プログラミングの敷居は急激に下がってきています。義務教育にもプログラミングが含まれる時代になってきており「プログラミングができる人は少数派である」という時代は変わりつつあります。私たちの生活はシステムを使いこなすことで成り立っています。たとえば会社での勤怠管理や,経費精算などもシステム(ここではシステムとはプログラムの集合体とします)であり,そのシステムをうまく使うことで,業務が,会社が,社会が効率化されています。会社帰りに電車に乗るときに「ピッ」とするだけで乗れるのも,自動販売機で正しくお釣りが出てくることも,その中でプログラムが動いているからです。
今の時代は「第四次産業革命」と呼ばれており,人工知能(AI)やロボット,ブロックチェーンなどがキーワードになっていますが,これらのテクノロジーに「使われる」のではなく「使う」側に立つことが生きることを有利にする時代ともいえます。
たとえばプログラムを作ることで「手作業で2時間かかっていた作業を10秒で処理する」ようなことが可能です。「経費精算システム」のような複雑なものは作れなくても,「毎日自分がおこなっているメール送信作業を自動化するプログラム」を作ることはできるのです。そのプログラムを作成するために必要なものが無料でそろっているので,誰でも,すぐにでもプログラムを書き始めることができます(その昔は,書き始める前の「環境構築」で挫折するパターンも多かったのです)。
プログラミングができない人にとっては夢や魔法みたいですが,たとえば現時点でPC操作(エクセル,ワードの他,Webシステムの利用)ができることや,相応のITリテラシーを持ち合わせていることは(特にIT企業では)当然として考えられています。これと同じように,今後,プログラミングという魔法が使える人と使えない人の生産性や市場価値にはどんどん差が出てきます。いや,すでに差は出てきていますよね。
近年,「デジタル技術を利用して生活/業務をよくしていこう」という動きがさかんですが,私の見解では,これを実現する方策は「何かのシステムを導入すればいい」のような単純なことではありません。たしかにシステムの存在は大きいですが,そこにいる人がそれを使いこなせなければ意味がありません。私はスプレッドシートだって重要なシステムだと思っています。デジタル技術の活用が進まない大きな問題はそれを使う人が「最大限に効率よく利用するにはどうしたらいいのか」を理解できていないことです。そしてこの理解度はプログラムを書ける人と書けない人の間で大きな差があると感じます。
私が皆さんに求めることは,単にプログラムを作成できるだけではなく,「プログラムで処理するために最適な手順やデータ構造はなにか」を考え,「それだったら目の前のスプレッドシートをこう作り変えよう」などと「現実世界をプログラムで処理しやすいように変えていける人材になること」ことです。

「えっ……じゃあ,プログラミングのできない私はどうなるの?」

と不安になった方もいるかもしれませんが,大丈夫です! この本でプログラミングを身に付けたらみなさんも魔法使いになれます! もしかしたら,プログラミングに漠然と苦手意識を持っている方もいるかもしれませんが,(習ったことはありませんが)本物の魔法よりは簡単にマスターできます。プログラミングは,ゼロから何かを生み出すわけなく,体系化された技術ですので,「こうやったらこうなるよ」というのが決まっています。
そのルールを真似することから始めていけば,誰でも実務で使えるレベルのプログラムを書くことができます。
それによって自分の業務が効率化できた時や,自分がやりたかったことが実現できた時には,きっと大きな喜びがあると思います。
よくいわれることとして「プログラミングは手段であり,目的は課題解決すること」というのがあります。本当のことをいってしまうと,そこにある課題を解決できるのであれば,プログラミングを使わなくてもいいのです。しかしながらIT化された今の社会において,プログラミングを使うことで効率的に解決できる課題は多く存在します。そこで本書では,「課題解決の手段としてプログラミングを身につけること」を目的としています。
この本をきっかけとして,みなさんの人生に変化が起こせたらうれしいです。
(「はじめに」より抜粋)

サンプル

samplesamplesamplesamplesample

目次

  • はじめに

第1章 知っておきたいGASプログラミングの超基本

  • Section1-1 そもそも「プログラミング」って何だろう
  • Section1-2 Google Apps Scriptを使うメリットって?
  • Section1-3 プログラムの流れを具体的に考えてみよう ~フローチャート
  • Section1-4 「動くプログラム」を体験してみよう!
  • Section1-5 章のまとめ
  • Column1-1 ここも重要! 記号について

第2章 日報送信を自動化したい! ~GASでスプレッドシートを操作する

  • Section2-1 この章でできるようになること
  • Section2-2 GASプログラミングの大前提! 関数
  • Section2-3 「定数」「変数」は箱で理解!
  • Section2-4 プログラム上で文字列を扱う方法
  • Section2-5 算術演算子 ~足したり,引いたりをGASでおこなう
  • Section2-6 理解度確認テスト① 平均点を計算しよう
  • Section2-7 GoogleスプレッドシートのデータをGASで取得しよう
  • Section2-8 GmailもGASで操作してみよう
  • Section2-9 「日報送信の自動化プログラム」を書いてみよう
  • Section2-10 章のまとめ
  • Section2-11 ここも重要! プログラミングの決まり事

第3章 アンケート集計を自動化したい! ~「配列」「条件分岐」「繰り返し」を理解する

  • Section3-1 この章でできるようになること
  • Section3-2 いろいろなパターンに対応させよう「if文」
  • Section3-3 さらに条件を追加してみよう ~if-elseでfalseのときの処理を追加する
  • Section3-4 条件分岐の強い味方! 比較演算子と論理演算子
  • Section3-5 プログラムの「値」には種類がある
  • Section3-6 理解度確認テスト➁ たかし君のテスト
  • Section3-7 「配列」を使って,データをひとまとめにしちゃおう
  • Section3-8 繰り返す処理はループで解決
  • Section3-9 forを発展させてみよう ~breakとcontinue
  • Section3-10 理解度確認テスト③ forによるループ
  • Section3-11 配列とループの使いどころを学ぼう
  • Section3-12 ここが重要! 二次元配列
  • Section3-13 理解度確認テスト④ 二次元配列のループ
  • Section3-14 社内アンケート集計プログラムの要件定義
  • Section3-15 社内アンケート集計プログラムを書いてみよう
  • Section3-16 自分でメニューを作る
  • Section3-17 章のまとめ
  • Column3-1 ここも重要! スプレッドシートに一気に値を追加する方法

第4章 タスク管理リストでリマインドをしてほしい!

  • Section4-1 この章でできるようになること
  • Section4-2 もっと便利に関数を使いこなそう!
  • Section4-3 複数種類のデータの扱いは,オブジェクトにお任せ
  • Section4-4 組み込みオブジェクトとは
  • Section4-5 見せなくていいものは隠しちゃおう(スコープ)
  • Section4-6 「タスク管理プログラム」を書いてみよう
  • Section4-7 章のまとめ
  • Section4-8 理解度確認テスト⑤ たかし君のテストを関数で
  • Column4-1 ここも重要! コンテナバインドスクリプトとスタンドアロンスクリプト

第5章 Gmailの添付ファイルを自動でGoogle Driveに保存したい!

  • Section5-1 この章でできるようになること
  • Section5-2 GmailをGASで操作しよう
  • Section5-3 Google DriveをGASで操作しよう
  • Section5-4 コンピュータで扱うデータは大きく分けて2種類
  • Section5-5 「請求書自動保存プログラム」を書いてみよう
  • Section5-6 章のまとめ

第6章 プログラムのメンテナンス

  • Section6-1 この章でできるようになること
  • Section6-2 日報送信プログラムに条件を追加しよう
  • Section6-3 タスク管理シートが動かなくなった!?
  • Section6-4 章のまとめ
  • Column6-1 ここも重要! GASの公式ドキュメントの見方
  • Column6-2 ここも重要! シンプルトリガーonEdit
  • おわりに
  • あとがき

サポート

正誤表

本書の以下の部分に誤りがありました。ここに訂正するとともに,ご迷惑をおかけしたことを深くお詫び申し上げます。

(2022年10月5日最終更新)

Chapter2 P.42 上から3~4行目

「ツール→スクリプトエディタ」を選択
拡張機能→AppsScript」を選択

Chapter6 P.336 コード6-6 上から8行目

if(!isHoliday(today)) return
if(isHoliday(today)) return

「!」が不要でした。

(以下2022年3月15日更新)

Chapter4 P.202 コード4-6

keiri_4関数の終わりに「}」が抜けていました。

ダウンロード

サンプルコードのダウンロード

本書に掲載したサンプルコードや,各章の課題を解くためのサンプルデータなどを,圧縮ファイル形式でダウンロードできます。

(2022年3月15日更新)

ダウンロード
GAS超入門_サンプルデータ.zip

商品一覧