ryoma's note

マイペース ੯•́ʔ̋ ͙͛*͛ ͙͛*͛ ͙͛̋و

GAS で特定の列の最終行の値を取得する

GAS でスプレッドシートの特定の列の最終行にある値を取得したかった。

getNextDataCell を利用すると連続するセルの端を取得できるようで、SpreadsheetApp.Direction.DOWN を引数に渡すと下方向の行インデックスを返してくれる。

// 特定の列(A列)
const columnIndex = 1;

// 特定の列の最終行の行インデックスを取得する
const sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName('シート1');
const lastLineIndex = sheet.getRange(1, columnIndex).getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow();

// 特定の列の最終行の値を取得する
const lastLineValue = sheet.getRange(lastLineIndex, columnIndex).getValue();

注意点として、対象の列に1行しか値が入っていなかったり、連続するセルの途中に空欄が含まれていると意図した行インデックスを返してくれない場合がある。

参考