GAS 特定の列の最終行を取得する方法~getLastRow使用せず~

特定の行の最終行を取得したいときありませんか??

例えば、こんなとき↓↓

取得したいのは、B列の最終行なんだけど、getLastRow() で出力されるのは、9行目になります。

そんなときのために、、、
今回は特定の列の最終行を取得する方法について解説していきます。

ある列がとても長く、getLastRowを使うと他の列の最終行が取得できなくなってしまいますよね。

getlastRowを使わずに取得する方法を紹介します。

特定の行の最終行を取得するコード

特定の行の最終行を取得するには、次のように書きます。

//シートを取得
let sheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("シート名");
//2行目の最終行を取得
let index = sheet.getRange(1, 2).getNextDataCell(SpreadsheetApp.Direction.DOWN).getRow();
console.log(index);

シート

GAS実行結果

2列目の最終行を取得するコードになります。

列数を変えたい場合は、2の部分を変えてください!

コードでどんなことをしているか?

このコードでやっていることを簡単に解説します。

スプレッドシートで、あるセルを選択して、ctrl + ↓ で下までいけますよね。Macだとcommand+↓

コードでも全く同じことをやっています。

そして、移動した後の列数を取得しているのです。

このコードで実現できないこと

察しのいい人ならもうわかっているかと思いますが、

セルの内容が連続していないと、使うことができません。

例えば、以下のように空白のセルが間に入っていた場合、空白の一つ前のセルの行数が取得されます。

空白セルがある場合は挙動が異なるので、注意しておいてください。

まとめ

今回は、特定の列の最終行を取得する方法について解説していきました。

以下の記事も参考にしてみてください!

(Visited 51 times, 1 visits today)