【初心者向けのGAS】スプレッドシートの最後の列(最終列)を取得する方法
- 2019.07.10
- 2019.10.02
- Google Apps Script
よこのじ(@yokonoji_work)です。
Google Apps Script(GAS)で「スプレッドシートの最後の列(最終列)を取得する方法」をご紹介します。
セルを指定する方法「【初心者向けのGAS】スプレッドシートの範囲指定したセルから値を取得する方法」と合わせてご活用ください。
最後の列(最終列)を取得する方法
スプレッドシートの最後の行(最終行)を取得するためには、対象のシートを指定しておく必要があります。
// スプレッドシートを取得する var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); // シートを取得する var sheet = spreadsheet.getSheetByName("シート1");
シート全体の最後の列(最終列)を取得する方法
シート全体の最後の列(最終列)を取得するには、getLastColumnメソッドを使用します。
var lastColumn = sheet.getLastColumn();
シート全体の最後の列(最終列)を取得するため、最も列数が多い2行目が対象となります。よって、次の例では lastColumn に 4 という結果が格納されます。
ちなみに、次のように途中に空白列があったとしても、最終列を取得できます。この場合の最終列は 5 です。
特定の行の最後の列(最終列)を取得する方法
各行の最終列を取得したい場合もあるかと思います。
var spreadsheet = SpreadsheetApp.getActiveSpreadsheet(); var sheet = spreadsheet.getSheetByName("シート1"); function myFunction() { // シート全体の最終列を取得 var lastColumnAll = sheet.getLastColumn(); // 取得したい行を指定 1行目=>1, 2行目=>2,・・・ var row = 3; // 指定した列の最終行を取得 var last_column = lastColumn(lastColumnAll, row); Logger.log(last_column); } function lastColumn(lastColumnAll, row) { var range = sheet.getRange(row, 1, row, lastColumnAll).getValues(); for(var i=lastColumnAll-1; i>=0; i--){ if(range[0][i] != ""){ return i + 1; } } }
lastColumn関数には「シート全体の最終列」と「最終列を取得したい行」を引数として渡しています。
これらの情報を元にして、下図のように空ではないセルを探します。そして、値があればその行が最終列となります。
var row = 3; (3行目)を指定すると最終列は 4 となりますし、1行目なら3といった値を取得できます。
最終行を取得したい場合は「【初心者向けのGAS】スプレッドシートの最後の行(最終行)を取得する方法」を参照ください。
Google Apps Script(GAS)で要素ごとの操作方法を覚えれば、あとはどう組み合わせるか。
- 前の記事
【初心者向けのGAS】スプレッドシートの最後の行(最終行)を取得する方法 2019.07.09
- 次の記事
【初心者向けのGAS】スプレッドシートのセルの値をクリア(削除)する方法 2019.07.11