こういうシートがあって
kanaの列でデータが入っていない範囲を取得したい
コピペ用データ
コード.gs
function getLastBlank() { var sheet = SpreadsheetApp.getActiveSheet(); var lastRow = sheet.getLastRow(); var startRow = 2; var col = 2; var values = sheet.getRange(startRow, col, lastRow, 1).getValues(); Logger.log(values); var lastBlank = 0; for(var i = 0; i < values.length; i++) { var value = values[i][0]; if(value !== '') { lastBlank = i + 1; break; } } Logger.log(lastBlank); return lastBlank; } |
意訳この機能がやること 今開いているシートを取得する データが入っている最終行を取得する 開始行を指定する 対象の列番号を指定する 対象の列で開始行から最終行までの値を取得して ログに出す 最後の空白行は0にしておく 値の数だけ繰り返す 値を1つずつ取得して もし空でなければ 最後の空白行は配列の要素番号+1 配列は0始まりでシートは1始まりなので+1 for文から抜ける それをログに出して そして返す |
実行結果
getLastBlankを実行するとこのようなログが出ます
kanaの列で値が入っていない範囲の最終行は4行目