GAS開発者向けにスプレッドシートの行列位置と行列数取得機能をすべてまとめました。
スプレッドシート内の行や列の位置や選択したセルの行数、列数を取得して様々な処理に応用する場面はしょっちゅうあるはずです。
この行列位置と行列数は基本中の基本ではありますが、メソッド名が若干ややこしいのでまとめてみました。
行列位置と行列数取得に関するメソッドをすべて載せてます。少しでも参考になれば幸いです。
Google Apps Script スプレッドシート 基礎 リファレンス
当ページは、GAS公式リファレンスを元にスプレッドシートの機能毎にまとめた基礎的な内容となっております。
若干、文言がおかしい可能性がありますが、あらかじめご了承ください。
GAS基本メソッドまとめ一覧はコチラ↓↓↓です。スプレッドシートの基本的な機能をまとめてますので、ぜひご活用ください。
まずは実際に動かしてみることをオススメします。マクロの登録方法は以下を参照いただければと思います。
GASの本はまだまだ少ないですね。基礎レベルであれば、以下の参考書が初心者にはベストの本です。
基本的な仕様やよく使われる機能の設定方法がまとまっています。
※JavaScriptの知識が既にある程度ある人にとっては冗長かもしれません。
セル範囲クラス[Range]の行列位置取得
セル範囲の行の位置と列の位置取得メソッドです。
行位置取得[getRow()]
getRow()
この範囲の行位置を返します。 getRowIndex()と同じです。
function getRowSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2");
Logger.log(range.getRow());
}
Return
Integer - 範囲の行位置です。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getRow()
行インデックス取得[getRowIndex()]
getRowIndex()
この範囲の行位置を返します。 getRow()と同じです。
function getRowIndexSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2");
Logger.log(range.getRowIndex());
}
Return
Integer - 範囲の行位置です。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getRowIndex()
列位置取得[getColumn()]
getColumn()
この範囲の開始列位置を返します。
function getColumnSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");
// "2.0"をログに記録
Logger.log(range.getColumn());
}
Return
Integer - スプレッドシート内の範囲の開始列位置。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getColumn()
セル範囲クラス[Range]の行列数取得
セル範囲の行数と列数の取得メソッドです。
行数取得[getNumRows()]
getNumRows()
この範囲の行数を返します。
function getNumRowsSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D5");
Logger.log(range.getNumRows());
}
Return
Integer - 範囲内の行数。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getNumRows()
列数取得[getNumColumns()]
getNumColumns()
この範囲の列数を返します。
function getNumColumnsSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D5");
Logger.log(range.getNumColumns());
}
Return
Integer - 範囲内の列数。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getNumColumns()
セル範囲クラス[Range]のデータ最終行列位置取得
セル範囲のデータ最終行とデータ最終列の位置取得メソッドです。
データ最終行位置取得[getLastRow()]
getLastRow()
行末位置を返します。
function getLastRowSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");
// ログ "4.0"
Logger.log(range.getLastRow());
}
Return
Integer - スプレッドシート内の範囲の終了行位置。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getLastRow()
データ最終列位置取得[getLastColumn()]
getLastColumn()
終了列の位置を返します。
function getLastColumnSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
var range = sheet.getRange("B2:D4");
// ログ "4.0"
Logger.log(range.getLastColumn());
}
Return
Integer - スプレッドシート内の範囲の終了列位置。
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Range | Methods | getLastColumn()
シートクラス[Sheet]のデータ最終行列位置取得
シートのデータ最終行とデータ最終列の位置取得メソッドです。
データ最終行位置取得[getLastRow()]
getLastRow()
コンテンツを含む最後の行の位置を返します。
function getLastRowSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
// このシートの最後のセルに値を記録します
var lastRow = sheet.getLastRow();
var lastColumn = sheet.getLastColumn();
var lastCell = sheet.getRange(lastRow, lastColumn);
Logger.log(lastCell.getValue());
}
Return
Integer - コンテンツを含むシートの最後の行
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Sheet | Methods | getLastRow()
データ最終列位置取得[getLastColumn()]
getLastColumn()
コンテンツがある最後の列の位置を返します。
function getLastColumnSample() {
var ss = SpreadsheetApp.getActiveSpreadsheet();
var sheet = ss.getSheets()[0];
// このシートの最後のセルに値を記録します
var lastRow = sheet.getLastRow();
var lastColumn = sheet.getLastColumn();
var lastCell = sheet.getRange(lastRow, lastColumn);
Logger.log(lastCell.getValue());
}
Return
Integer - コンテンツを含むシートの最後の列
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Sheet | Methods | getLastColumn()
シートクラス[Sheet]の最終行列取得
シートの最終行と最終列の取得メソッドです。
シート最終行取得[getMaxRows()]
getMaxRows()
内容に関係なく、シート内の現在の行数を返します。
function getMaxRowsSample() {
// この例では "first"という名前のシートがあると仮定しています
var ss = SpreadsheetApp.getActiveSpreadsheet();
var first = ss.getSheetByName("first");
Logger.log(first.getMaxRows());
}
Return
Integer - シートの最終行
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Sheet | Methods | getMaxRows()
シート最終列取得[getMaxColumns()]
getMaxColumns()
内容に関係なく、シート内の現在の列数を返します。
function getMaxColumnsSample() {
// この例では "first"という名前のシートがあると仮定しています
var ss = SpreadsheetApp.getActiveSpreadsheet();
var first = ss.getSheetByName("first");
Logger.log(first.getMaxColumns());
}
Return
Integer - シートの最終列
参照:Google Apps Script | REFERENCE | SpreadSheet | Class Sheet | Methods | getMaxColumns()
最後に
GAS値設定取得機能のまとめをご紹介させていただきました。
必要に応じて、有益な情報でさらに更新していきたいと思います。
プログラミングスキルを向上させるためには、本を読むだけでは脳にインプットされませんね。
実際に手を動かしてアウトプットしまくるのが一番の近道だと思います。
実際にサンプルソースをコピーして実行した結果がどうなるかを体験してみてください。
自分なりのアレンジを加えたり、なぜエラーになるのかを考え、何度も試行錯誤して問題を解決しまくり、着実に理解しながらスキルを向上させていきましょう。
GASはExcelVBAとはかなり違いますが、ベースとなっているJavaScriptは覚えて損はないプログラミング言語なのでショートカットキーなどと組み合わせてぜひ活用してみてください。
Googleスプレッドシート全ショートカットキー一覧はこちら↓↓↓
ショートカットキー一覧にもGASメソッドを載せています。どの操作からどのメソッドが呼ばれるのかイメージしてください。
コメント