【GAS】Google Apps Scriptで、セルの値を取得する方法 – getRange()

スプレッドシート内のセルの値を、Google Apps Scriptで取得する方法を説明します。

セルの値の取得には、getRange()メソッドをもちいます。

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

下記のようなサンプルデータをもつシートで説明します。

NoValueDate
1002A2020/02/02
3001B2020/03/04
1003C2020/03/13
1004D2020/04/04
2001E2020/05/02
2002F2020/06/06
1005G2020/06/25

getRange()は、sheetオブジェクトのメソッドになります。

まずsheetオブジェクトを定義します。

var sheet = SpreadsheetApp.getActiveSheet();  /アクティブなシート取得

getRange()メソッド

引数の指定方法が複数あります。それぞれ説明していきます。

getRange(row, column)

・ getRange(row, colum) – Google Apps Script マニュアル 

列番号と行番号を指定し、該当するセルを1つ取得します。

var range = sheet.getRange(1, 2);  //セル取得
var data = range.getValue();       //セルの値を取得
Browser.msgBox(data);              //モーダルダイアログに表示

colとrowの関係は下記です。

直訳すると col = column = 柱 で、列番号になります。

サンプルコードを実行すると、 1002 が表示されます。

getRange(row, column, numRows)

・getRange(row, colum, numRows) – Google Apps Script マニュアル

第3引数 numRows が追加されました。

numRowsには、取得するセルの行数を指定します。

サンプルコード

  var range = sheet.getRange(2, 2, 3);
  var data = range.getValues();
  Browser.msgBox(data)

第1、2引数でセルの位置を設定し、第3引数でセルの取得範囲を設定します。

取得範囲が複数セルの場合、getValuesメソッドですべての値を取得することができます。

getRange(row, column, numRows, numColumns)

・getRange(row, column, numRows, numColumns)- Google Apps Script マニュアル

第4引数 numColumns が追加されました。

第1、2引数でセルの取得開始位置を指定し、第3で取得する行数、第4引数で取得する列数を指定します。

  var range = sheet.getRange(2, 2, 3, 2);
  var data = range.getValues();
  Browser.msgBox(data)

まとめ

rowとcolの関係も混同しがちになるので整理して確認しましょう。

この記事のご感想やコメントはこちら

メールアドレスが公開されることはありません。 が付いている欄は必須項目です