LoginSignup
128
113

More than 3 years have passed since last update.

getRangeいろいろ(Google Apps Script、SpreadSheet)

Posted at

はじめに

セルの getRange() の引数の種類がたくさんあって列だっけ?行だっけ?ってよくなるので、各メソッドの使用例と範囲指定のイメージ画像をつけて羅列してみることにしました。

サンプルスプレッドシート

この画像のデータをいろいろ getRange() して、どのように範囲指定できるか 背景色をピンク にして、確認してみます。
image.png

前提

コードに出てくる sheet はアクティブシートで初期化してある前提です。

  var sheet = SpreadsheetApp.getActiveSheet();

getRange(row, column)

  var range = sheet.getRange(1, 4);
  range.setBackground('pink'); // 背景色をピンクに

image.png

列番号(column)について

(ご存知かと思いますが念の為、)引数のcolumnはA列から順番に、1,2,3...となります。rowは1行目、2行目...とそのまんまですね。

image.png

※以降から背景色ピンクにするコードは省略します。

getRange(row, column, numRows)

  var range = sheet.getRange(2, 4, 3);

私はどう範囲指定されるのかイメージしづらかったので、何番目のセルか番号振りました。

  • 範囲指定の開始位置が、2行、4列目のセル
  • 開始位置のセルから3行を範囲指定

image.png

getRange(row, column, numRows, numColumns)

  var range = sheet.getRange(3, 2, 4, 3);

よく忘れるのでこれも番号振ってみました。

  • 範囲指定の開始位置が、3行目、2列目のセル
  • 範囲指定の終了位置のセルが、開始位置のセルから4行、3列目 image.png

getRange(a1Notation)

  // アクティブシートのとき
  var range = sheet.getRange('C1');

  // シート名を指定するとき
  var ss = SpreadsheetApp.getActiveSpreadsheet();
  range = ss.getRange('シート1!C1');

image.png

  • 行番号や列番号は変数にすることもできます。
  var row = 1;
  var range = sheet.getRange('C' + row); // sheet.getRange('C1')と同じ

  var col = 'A';
  range = sheet.getRange(col + row); // sheet.getRange('A1')と同じ

  • 範囲指定するとき
  var range = sheet.getRange('A1:D4');

image.png

  • A3から、A列最終行まで
var range = sheet.getRange('A3:A');

image.png

getRangeList(a1Notations)

var rangeList  = sheet.getRangeList(['A1:B4', 'C5:D8']);

まだ使ったことなかったので、へー!って感じでした。
image.png

さいごに

こんどgetValuesいろいろも書きたいと思います。 :cat:

128
113
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
128
113