開いている状態スプレッドシートのデータを取得する場合
スプレッドシート内のシートが一つの場合
let Data = SpreadsheetApp.getActiveSheet().getDataRange().getValues();
変数 Data は2次元配列になります。そのため、要素を取得する際に指定する数値は 0 から始まります。
スプレッドシート上で、A列1行目の値を取得する場合は Data[0][0] となります。C列5行目の値を取得する場合は Data[4][2] となります。
つまり、セルの値を取得する際は Data[行][列] となります。
クラスを用いた別の表記法
let SH = SpreadsheetApp.getActiveSheet();
let SH_Range = SH.getDataRange();
let Data = SH_Range.getValues();
動作は同じになりますが、sheetクラスを他の処理で使用したい場合はこの表記をすることでコードを簡潔化できます。
スプレッドシート内のシートが複数の場合
let Data = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("SHEET_NAME").getDataRange().getValues();
getSheetByName(“SHEET_NAME”) の SHEET_NAME にはシートの名前を置換してください。
データの取り扱いについては「スプレッドシート内のシートが一つの場合」と同様になります。
クラスを用いた別の表記法
let SS = SpreadsheetApp.getActiveSpreadsheet();
let SH = SS.getSheetByName("SHEET_NAME");
let SH_Range = SH.getDataRange();
let Data = SH_Range.getValues();
動作は同じになりますが、sheetクラスを他の処理で使用したい場合は有効的に使用しましょう。
開いていないスプレッドシートのデータを取得する場合
スプレッドシート内のシートが一つの場合
let Data = SpreadsheetApp.openById("YOUR_ID").getActiveSheet().getDataRange().getValues();
openById(“YOUR_ID”) のYOUR_ID にはスプレッドシートのIDを置換してください。
データの取り扱いについては「スプレッドシート内のシートが一つの場合」と同様になります。
クラスを用いた別の表記法
let SS = SpreadsheetApp.openById("YOUR_ID");
let SH = SS.getActiveSheet();
let SH_Range = SH.getDataRange();
let Data = SH_Range.getValues();
動作は同じになりますが、sheetクラスを他の処理で使用したい場合は有効的に使用しましょう。
スプレッドシート内のシートが複数の場合
let Data = SpreadsheetApp.openById("YOUR_ID").getSheetByName("SHEET_NAME").getDataRange().getValues();
openById(“YOUR_ID”) のYOUR_ID にはスプレッドシートのIDを置換してください。
また、 getSheetByName(“SHEET_NAME”) の SHEET_NAME にはシートの名前を置換してください。
クラスを用いた別の表記法
let SS = SpreadsheetApp.openById("YOUR_ID");
let SH = SS.getSheetByName("SHEET_NAME");
let SH_Range = SH.getDataRange();
let Data = SH_Range.getValues();
動作は同じになりますが、sheetクラスを他の処理で使用したい場合は有効的に使用しましょう。
終わりに
今回はGASを用いてスプレッドシートからデータを読み込む方法を紹介しました。
本ブログでは、今後もGoogle Apps Scriptのリファレンスの解説や、学び方・ツール作成について発信していきます。
ご興味ある方はお気に入り登録などお願いします。