こんにちは。ひとりで.comです。
まさか、Googleスプレッドシートにマクロ機能が実装されるとは思ってもみませんでした。まさに寝耳に水です。それだけ需要も多いということなのでしょうか。
というわけで、ついにGoogleスプレッドシートにも実装されたマクロ機能について紹介していきたいと思います。
Excelではよく使われるマクロ機能がGoogleスプレッドシートにも実装
Excelにはすでにあるマクロ機能とは?
皆さん大好き(?笑)Excel(エクセル)には当然のように実装されているマクロ機能。このマクロ機能は、Microsoftのサポートページでは以下のように説明されています。
繰り返し作業を自動化するために、Microsoft Excel のマクロ レコーダーでマクロを記録できます。たとえば、形式が統一されていない日付があるときに、1 つの形式をそれらすべての日付に適用できれば便利です。それを実行できるのがマクロです。特定の形式を適用するマクロを記録し、必要なときにそのマクロを再び実行します。
出典:マクロ記録で作業を自動化する
すなわち、日々のExcel(エクセル)作業の中で、同じ作業をやっていることをプログラムとして記録し、操作ひとつでその作業が行われたとしたら便利ですよね。
たとえば…
- データを入力したら、そのデータを日付順に並び替えをする
- 入力後、全てのシートを印刷する
- 同じような計算式を追加する
などなどが挙げられます。
ちなみに、Excel(エクセル)におけるマクロ機能は、以下のような「開発」タブの中に存在します。

Googleスプレッドシートにもマクロ機能が実装された
Excel(エクセル)にはこれまで当たり前のように実装されていたマクロ機能ですが、実はGoogleスプレッドシートにはその機能がありませんでした。代わりにGoogle App Scriptという機能があり、自分自身でプログラムを組むことによって、自動的に処理を行うことが可能となっていました。
しかしながら、自分自身でプログラムを組むというのはかなりハードルが高いです。したがって、プログラミングができる人にお願いするか、1から勉強するか、あきらめるか…しか選択肢がありませんでした。
そのマクロ機能がついにGoogleスプレッドシートにも実装されたのです。
※2018年4月18日現在、この機能は段階的にリリースされているようで、人によってはまだその機能が実装されていない場合もあるようです。
では、その使い方について見ていくことにしましょう。
ここでは、データの並び替えを例にとって見ていくことにしましょう
まずは、Googleスプレッドシートを開きます。
グローバルメニューにある[ツール]から[マクロ]を選択し、[マクロを記録]を指定します。

すると、以下のようなポップアップが登場します。この状態でマクロが記録されている状態となります。

ここに記載のある「絶対参照を使用」「相対参照を使用」に関して、ここでの詳しい説明は省きますが、マクロを記録する際に、いまいるセルの位置を起点に考えるか否か…ということを表しています。すなわち絶対参照では、特定のセルの位置からマクロを走らせるようにし、相対参照では、いまいるセルからの相対的な位置でマクロを走らせるようにします。
(※日本語の説明がわかりにくいですね)
※絶対参照と相対参照の考え方についてはこちらの記事を参照ください。
今回は、下記の枠線の中で囲った部分の並び替えを行なうマクロを記録していきたいと思います。なお、マクロを記録している最中は下記の図のように、常にマクロのポップアップが表示されます。

※範囲を指定する際は、数値が記載されている一番下まで選択するためのショートカットを使ってください。マウスなどで指定してしまうとうまくマクロが走らなくなってしまうので注意が必要です。
【ショートカット】
Mac版のExcelでは、command+ shift+ ↓
Windows版のExcelでは、Ctrl+ Shift+ ↓
通常通り、並び替えを実施します。範囲を選択した状態で[データ]から[範囲を並び替え]を選択肢ます。

今回は、日付順に並び替えを実施したいと思いますので、並び替えの基準を[日付]に指定します。

並び替えが完了したら(マクロを記録したい一連の動作が完了したら)[保存]のボタンを押します。

すると、そのマクロの名前を指定するポップアップが表示されるので、任意の名前を入力します。のちのち、何のマクロなのかがわかりやすいような名前をつけると良いと思います。

保存中は、画面左下に[マクロを保存しました]という表示が出ます。この際、[スクリプトを編集]という部分を押すと、具体的にどのようなマクロがプログラムされているかを確認することができます(別画面で表示されます)。ただし、プログラムについてわからない人が見ても訳がわからないと思いますので、無視して頂いて結構です。

では、マクロの記録が完了しましたので、このマクロが正しく動くか…について確認しておきたいと思います。先程の元データは14行目までデータが入っていたので、15行目以降に新たなデータを追加して、その範囲も含めてマクロにて並び替えが行われるのか見てみたいと思います。

15行目以降で任意の行を追加後、[ツール]から[マクロ]を選び、先程作成した[macro_並び替え]を選択します。

すると、以下のようなポップアップが表示されます。マクロを初めて動かす際は以下のような表示が出ますので、[続行]を選択します。

さらに、以下のような画面が表示されます。こちらも[許可]を選択します。

すると、どうでしょうか?新たに追加した範囲に関しても、並び替えが実行されました。常にデータを追加して行くような場面では、このようにマクロ機能を使うことによって、作業を大幅に短縮することができます。

いかがでしたでしょうか?マクロの自動記録は、とても簡単に作業効率を行える機能です。これがGoogleスプレッドシートに登場したのは、かなり大きな出来事といえるのではないでしょうか?ぜひ皆さんもマクロの機能を使い倒してみてください。