【レシピ集】GAS × 最終行を取得する(getLastRow())

ビジネス

便利なGASレシピ集!に戻る場合は以下から

便利なGASレシピ集! – [2019年最新版]

2019年5月22日

はじめに

どうも、ビジボットです。
今回の記事はGoogleAppsScript (GAS) でスプレッドシートの最終行を求める方法を紹介していきます。GASで最終行を求めるシーンは数多くあり、大きく2パターンの記述方法を紹介したいと思います。セルの最終行を取得すると、for文の繰り返し処理を行う時にとても役に立つレシピです。

最終行を求めたいシートを用意

取得したいデータが入っているスプレッドシートを用意します。
今回のデータは11行までのサンプルデータを入れて、仮で用意してます。このデータの最終行を求めていく処理を紹介していきます。

GAS ー 最終行を取得する
GAS ー 最終行を取得する

以下関連記事は、初心者がGASを始める初歩的な内容をまとめた記事です。この関連記事にもサンプルコードと実際にログで出力された結果を記載しているので参考にしてみてください。

GAS初心者が抑えるべきポイント徹底解説!

2019年3月7日

最終行を取得するレシピ①

Logger.logの結果

求める値が取得できました。

「getLastRow()」を使うパターンは注意が必要な点があります。

データに統一性がない場合

GAS - getLastRow()の有効範囲
GAS – getLastRow()の有効範囲

このように、求めたいデータは空白を除外したデータの個数なのに、空白の数もカウントされて16行目の16という数字を取得してしまいます。

Logger.logの結果

最終行を取得するレシピ②

Logger.logの結果

それぞれの取得結果で数値が異なりました。
「filter(string).length」を使う事で取得した値の長さを取得します。

filter(string).lengthの中身

Logger.logの結果

「Logger.log(getVal.filter(String)); 」を書く事で、ログ上に取得した結果が表示されました。データを見てみると、No〜15までの値を取得して配列データになってます。これに「length」をつける事で、要素の数を返してくれていたという事がわかります。

最終行の取得方法は、データのタイプによって「最終行を取得するレシピ①」を使うか、「最終行を取得するレシピ②」を使うか、分けても大丈夫です。

便利なGASレシピ集!に戻る場合は以下から

便利なGASレシピ集! – [2019年最新版]

2019年5月22日