APPS SCRIPT

マクロと GAS(Apps Script)の模擬練習

仮想のスプレッドシートと Apps Script のエディタで、マクロの記録から GAS のコードまで、実際に動かしながら練習します。コードは空欄を埋める形なので、初めてでも進められます。スマホでは空欄を4択で選べます。

GAS とは? 始め方とよく使う書き方(記事)

CHAPTER 1

第1章 マクロの記録と実行

記録済みのマクロを動かし、自分でも記録します。絶対参照と相対参照の違い、記録したコードの読み方と直し方まで。

  1. 1記録済みのマクロを動かすこのスプレッドシートには、見出しを太字にして色を付けるマクロ「見出しを整える」が入っている。「拡張機能」→「マクロ」から実行しよう。読込中
  2. 2マクロを記録する(絶対参照)「拡張機能」→「マクロ」→「マクロを記録」で記録を始め、A6 に「合計」と入れて太字にしよう。保存したら、記録したマクロを「拡張機能」→「マクロ」から実行して、同じ操作が再現されるか確かめよう。読込中
  3. 3相対参照で記録する選んでいる商品の行の「状況」(2つ右)に「済」と入れるマクロを、相対参照で記録しよう。A2 を選んだ状態から記録を始める。読込中
  4. 4記録したコードを書きかえる記録したマクロを Apps Script のエディタで開いた。見出しの A1:C1 に淡い黄色(#fff2cc)を付けるよう、空欄を埋めて ▷ 実行しよう。読込中

CHAPTER 2

第2章 読む・くり返す・分ける

getValue でセルを読み、setValue で書き、実行ログで中身を確かめます。for で全行をくり返し、if で書き分けます。

  1. 5セルを読んで実行ログに出すB2 にあるボールペンの単価を読んで、実行ログに出そう。読込中
  2. 6セルに書く(setValue)ボールペンの金額(単価 × 数量)を D2 に書こう。読込中
  3. 7まとめて読む(getValues と2次元の配列)A2:C5 をまとめて読み、2つ目の商品の名前(ノート)を実行ログに出そう。読込中
  4. 8for で全行をくり返す(getLastRow)すべての商品の金額(単価 × 数量)を D 列に書こう。商品の数が変わっても動くように、最後の行は getLastRow で調べる。読込中
  5. 9if で書き分ける売上が目標以上なら「達成」、届かなければ「未達」を判定の列に書こう。目標ちょうどは「達成」。読込中

CHAPTER 3

第3章 ケーススタディ:月次の売上表を整える

空白行を消し、大口の判定を一度に書き、自分のメニューから動かします。最後はセルで使える自作の関数。

  1. 10空白行を下から消す貼り付けた10月の明細に空白行が混ざっている。空白行をすべて消そう。行を消すと下の行が上に詰まるので、下の行から順に見ていく。読込中
  2. 11判定の列を一度に書く(setValues)金額が 100,000 円以上の明細の区分に「大口」と書こう。1行ずつ書かずに、列をまとめて読んで、まとめて書く。読込中
  3. 12自分のメニューから動かす(onOpen)スプレッドシートを開いたら「月次処理」というメニューが出て、「大口を判定」で markLarge が動くようにしよう。保存したら、ブラウザの再読み込み(F5)で開き直し、メニューから実行する。読込中
  4. 13セルで使える関数を作る(カスタム関数)C 列には =WITH_TAX(B2) と入っているが、まだ関数がないので #NAME? になっている。税抜の金額に 10% の税を足し、1円未満を切り捨てて返す関数を書いて保存しよう。読込中

※ Google スプレッドシートと Apps Script の挙動を模擬的に表現したものであり、本来の挙動と一部異なる可能性があります。

※ Google スプレッドシートは Google LLC の商標です。当サイトは Google とは関係ありません。