【GAS】Googleスプレッドシートの「名前の範囲」機能をGASで使うと超便利
2023/03/04
IT系雑談ブログでも紹介したGoogleスプレッドシートの名前の範囲機能ですが、これをGoogle Apps Script(GAS)と組み合わせて使うと超便利なので紹介します。
名前の範囲の設定
スプレッドシートのA2セルに「Test」と入力されているとします。このセルを名前付き範囲に設定します。
名前ボックスの右の▼をクリックすると「名前付き範囲を管理」と現れるのでクリックします。名前付き範囲として設定しますが、詳しい設定方法はこちらを参照ください。
以下のようにA2セルを「Test」という名前に設定したものとします。
GASで名前付き範囲の利用例
以下のようにgetRangeByNameメソッドを使ってセルを特定させます。range変数にTestという名前を付けたA2セル情報がセットされるので、あとは各種メソッドが使えます。
var range = SpreadsheetApp.getActiveSpreadsheet().getRangeByName('Test'); Logger.log(range.getValue()); Logger.log(range.getColumn()); Logger.log(range.getRow());
実行結果
上記ソースコードを実行した結果が以下です。セル内の文字列、列No、行Noが取得できたことがわかるかと思います。
複数の名前付き範囲だけを取得するメソッド
シート内に複数の名前付き範囲が散りばめられている場合は、getNamedRangesメソッドを使うと便利です。以下のコードはranges変数に名前付きセルが配列としてセットされます。
var ranges = SpreadsheetApp.getActiveSpreadsheet().getNamedRanges(); ranges.forEach(function(range){ Logger.log(range.getName() +" : "+ range.getRange().getValue()); });
スポンサーリンク