下記ホームページ
https://qiita.com/3mc/items/826cd66890d7812e917e
のコードを丸々コピーし、サンプルデータも丸々コピーしましたら
動きましたけれど、ここで、データが飛び飛びの場合、期待通りの
最終行が得られません。
仮に、そのホームページのサンプルデータに以下のように『キリン』
を追加しました場合、最終行の期待値は『6』ですが、結果は『5』と
出てきます。
0 動物
1 パンダ
2 うさぎ
3 コアラ
4
5 キリン
GAS
1function getLastRowWithValue() { 2 const sheet = SpreadsheetApp.getActiveSheet(); 3 const columnBVals = sheet.getRange('B:B').getValues(); // B列「動物」の値を配列で取得 4 const LastRow = columnBVals.filter(String).length; //空白を除き、配列の数を取得 5 6 Logger.log(LastRow); //4.0 7}
実運用的に、A列にはナンバリングがしてありますので、
(B:D)をRangeで範囲指定をして、飛び飛びデータの最終行
を取得したいのですが、ネット検索をしましても、希望の
動きをしてくれますコードが見つかりません。
GAS
1var lastRow_B = sheet1.getRange(sheet1.getMaxRows(), 2).getNextDataCell(SpreadsheetApp.Direction.UP).getRow(); 2var lastRow_C = sheet1.getRange(sheet1.getMaxRows(), 3).getNextDataCell(SpreadsheetApp.Direction.UP).getRow();
という具合に各行の最終行を個々に取得して、一番大きな数字を
最終行とするしかないのでしょうか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/07/17 05:10