範囲の値を取得する
スプレッドシートから、特定の範囲の値を取得する方法を解説します。
利用する関数
Section titled “利用する関数”Sheet.getSheetValues([開始行], [開始列], [行数], [列数]);Sheet クラスに用意されている、getSheetValues() を使用します。
なお、Spreadsheet クラスにも同名のメソッドが用意されていますが、ここでは対象のシートを明示できる Sheet クラスのメソッドを使用します。
引数は 4 つ必要で、それぞれ開始行、開始列、行数、列数を指定します。
例えば、対象シートのセル C2 から 4 行 × 5 列の範囲(C2:G5)を取得したい場合は、getSheetValues(2, 3, 4, 5) と指定します。
返り値は値の 2 次元配列(Object[][])として受け取ることができます。セルの内容に応じて、各要素は数値・真偽値・日付(Date)・文字列のいずれかになります。
これは sheet.getRange(2, 3, 4, 5).getValues() と同じ結果になります。
実行にあたってスプレッドシートにアクセスすることになるため、初回実行時に認証が必要になる場合があります。
サンプルコード
Section titled “サンプルコード”/** * 対象スプレッドシートのID * https://docs.google.com/spreadsheets/d/〇〇〇/edit の〇〇〇の部分 */const SPREAD_SHEET_ID = '_______________';
/** * 指定した範囲の値を取得します */const getSheetValues = () => { /** 対象スプレッドシート */ const ss = SpreadsheetApp.openById(SPREAD_SHEET_ID);
/** 対象シート */ const sheet = ss.getSheetByName('シート1');
if (!sheet) { console.log('シートが見つかりませんでした'); return null; }
/** 取得したデータ */ const arrays = sheet.getSheetValues(2, 3, 4, 5);
console.log(arrays); return arrays;};実行すると、指定したスプレッドシートの「シート1」について、C2 から 4 行 × 5 列の範囲(C2:G5)の値が返されます。