見出し画像

GAS(Google Apps Script):スプレッドシートの値が存在するセルを取得する:getDataRange

スプレッドシートのデータを取得する場合、getLastRowで最終行を取得してから、getRangeとgetValuesでデータを取得できます。

let sheet = SpreadsheetApp.getActiveSheet();
let lastRow = sheet.getLastRow();  //データがある最終行の行番号を取得
let data = sheet.getRange(1, 1, lastRow, 5).getValues();  //データを取得
console.log(data);​

getDataRangeを使うと、シートの値が存在する範囲を取得できるので、もう少しシンプルにコーディングできます。

let sheet = SpreadsheetApp.getActiveSheet();
let data = sheet.getDataRange().getValues();  //データを取得
console.log(data);

参考:https://developers.google.com/apps-script/reference/spreadsheet/sheet#getdatarange

また、次の表ように1行目にヘッダーがある場合、shiftを使うと最初の要素を取り除いて2行目以降のデータ部分だけ取得できる。

スクリーンショット 2020-06-13 16.28.57

let sheet = SpreadsheetApp.getActiveSheet();
let data = sheet.getDataRange().getValues();  //データを取得
data.shift();  //dataからヘッダー行のデータを削除
console.log(data);

スクリーンショット 2020-06-13 16.37.14


GAS中心に記事を書いています、よろしければサポートお願いします!!