GoogleAppsScript( GAS )で、スプレッドシートのデータを全て取得してみる

目次

複数のセルを取得する為のgetRange()

最初に、読み取りたいシートを取得。

var spsheet = SpreadsheetApp.getActiveSpreadsheet();
var sheet = spsheet.getActiveSheet();

getRange()

getRange(Row, Column [, NumRows [, NumColumns]])

// Row == 行の番号 (4行目なら4)
// Column == 列の番号 (Cなら3)
// NumRows == 指定したセルから何行取得したいか
// NumColumns == NumRowsの行から何列取得したいか

実際に取得からの結果

取得するスプレッドシート

getRange(Row, Column)

function myFunction() {
  var spsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spsheet.getActiveSheet();

  var pattern1 = sheet.getRange(1, 2).getValue();

  console.log(pattern1);
}

getRange(1行目、2列目)
ということで、「FirstName」が取得される

前回にした getRange(‘B2’)と同じでどちらでも良い。

getRange(Row, Column, NumRows)

function myFunction() {
  var spsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spsheet.getActiveSheet();

  var pattern2 = sheet.getRange(2, 2, 3).getValues();

  console.log(pattern2);
}

getRange(2行目、2列目, から何行?)
結果は、
[ [ ‘あああ’ ], [ ‘ううう’ ], [ ‘おおお’ ] ]

1つのセルを取得した場合は、getRange(‘B2’) のようにセルを指定しましたが、
複数のセルを指定したい場合は、
getRange(1,1)

getRange(Row, Column, NumRows, NumColumns)

function myFunction() {
  var spsheet = SpreadsheetApp.getActiveSpreadsheet();
  var sheet = spsheet.getActiveSheet();

  var pattern3 = sheet.getRange(1, 1, 6, 3).getValues();

  console.log(pattern3);
}

getRange(2行目、2列目, から何行?, 更に何列?)
結果は、

[ [ ‘ID’, ‘FirstName’, ‘LastName’ ],
[ 1, ‘あああ’, ‘いいい’ ],
[ 2, ‘ううう’, ‘えええ’ ],
[ 3, ‘おおお’, ‘かかか’ ],
[ 4, ‘キキキ’, ‘くくく’ ],
[ 5, ‘けけけ’, ‘こここ’ ] ]

という感じで、全ての値を取得できました。
ただ、この取得方法だと柔軟に対応しにくいところがあるので、次回はまた違った形で取得する方法について実施していきたいと思います。

補足

getValue()とgetValues()

1つだけなら、 getValue()
複数のセルの値を取得するときは、 getValues()

この記事が気に入ったら
いいね または フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
目次