Google Apps Script(GAS)を業務に使う際、真っ先に思い浮かぶのがスプレッドシートとの連携ですよね。自分もGASを独学で学ぶときには、最初にスプレッドシートでGASを活用する方法を学びました。
ところが、ネットで探せば断片的なGASとスプレッドシートを連携する情報は転がっているものの、体系的にまとまった記事はありませんでした。
そこで当記事では、
- スプレッドシートでGASを使う手順【基本編】
- GAS+スプレッドシートの活用法【応用編】
というテーマで解説します。
スプレッドシートでGASを使う手順
スプレッドシートでGASを使うには、大きく以下3つの手順を踏みます。
- スクリプトエディタを開く
- 操作するシートを指定する
- セル値を取得・変更
それぞれの手順について解説します。
スクリプトエディタを開く
まずはスプレッドシートと連携したGASのエディタを開きます。
エディタを開くには、以下の手順で操作すればOKです。
- 任意のスプレッドシートを開く
- ツールからスクリプトエディタを開く
ツール→スクリプトエディタの場所
また、スクリプトエディタはスプレッドシート以外から開くこともできます。
詳しくはこちらの記事を参考にしてください。
操作するシートを指定する
続いて、GASで操作するシートを指定します。
シートを指定するには、以下の手順でシートオブジェクトを生成しましょう。
//連携しているスプレッドシートのオブジェクトを生成する
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet();
//シート名で操作するシートを指定
var sheet = spreadsheet.getSheetByName('<シート名>');
上記はすでに連携済みのスプレッドシートからシート名を指定する方法ですが、他にもスプレッドシートIDを使って連携する方法もあります。
詳しくはこちらの記事を参考にしてください。
セル値を取得・変更する
最後に、スプレッドシートのセル値を取得、あるいは変更します。
セル値を取得・変更するには、getRangeメソッドで範囲を指定した後に、getValuesメソッドで取得、あるいはsetValuesメソッドで変更します。
//セル範囲の指定
var cells_A =getRange("A1:B3");
//セル値の取得
var cells_A_values = cells_A.getValues();
//セル値の変更
cells_A.setValues([[1,2],[3,4],[5,6]]);
上記の方法だとセル値は配列として扱いますが、やり方によっては数値や文字列として扱うこともできます。
詳しくはこちらの記事を参考にしてください。
GASとスプレッドシートの使い方【応用編】
ここからはただGASでスプレッドシートを操作するだけでなく、応用的な使い方をする方法について解説します。
いろいろな活用法がありますが、今回は以下の3つを紹介します。
- スプレッドシートの複製コピー
- Webスクレイピング
- Gmailデータの操作
スプレッドシートの複製コピー
スプレッドシートファイルをコピーして、同じ内容のスプレッドシートを複製する使い方です。
この使い方のメリットは、テンプレファイルを自動で無限に複製できる点です。
月ごとや人数ごとに、定期的に大量のテンプレファイルをコピーするのは大変ですよね。そんなときにGASを使えば、ボタン1つで複製できます。
具体的な実装方法についてははこちらの記事を参考にしてください。
スクレイピングデータの出力先にする
GASでWebスクレイピングを実行し、スプレッドシートにデータを出力してまとめる使い方です。
スクレイピングは定期的にWebページのデータを取得したいとき非常に便利です。Amazonの商品価格や株価などで使い人が多いようですね。
具体的な実装方法についてははこちらの記事を参考にしてください。
Gmailデータの出力先にする
Gmailからデータ取得したデータをスプレッドシートに出力する使い方です。
「特定の条件に合致する通知メールの内容をシートに出力する」といった設定にすれば、アラート・タスク整理機能としても使えますよね。
具体的な実装方法についてははこちらの記事を参考にしてください。
空白行・空白列の削除
スプレッドシートを使ううちに、いらない行、いらない列が出てくることもあるでしょう。
そんなときはGASを使って、空白行や空白列を自動削除してはいかがでしょうか。
スプレッドシートはセル数の上限が500万セルと決まっているので、データ量が多くなりそうな場合はできるだけ節約するのがおすすめです。
具体的な実装方法についてははこちらの記事を参考にしてください。
まとめ
今回は「スプレッドシートでGASを使う手順【基本編】」「GAS+スプレッドシートの活用法【応用編】」について解説しました。
GASとスプレッドシートにはさまざまな連携方法があります。自分たちの業務フローに合わせて最適な方法で連携させて、業務効率化に役立ててください。
では、また。