Apps Scriptリファレンス: Apps Script Reference |障害・課題追跡: IssueTracker |Google Workspace: Status Dashboard - Summary

2019年2月21日木曜日

シートの特定の列で値が入っていない範囲の最終行を見つけたい


こういうシートがあって
kanaの列でデータが入っていない範囲を取得したい


コピペ用データ

hirakana
あいうえお
かきくけこ
さしすせそ
たちつてとタチツテト
なにぬねのナニヌネノ



コード.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行目

Latest post

Google Formsで記述式の質問に字数制限を設定したい

記述式の質問には「回答の検証」を設定することができます フォームの編集画面 右下の︙メニューで「回答の検証」を選択します 検証方法には「数値」「テキスト」「長さ」「正規表現」という種類があります 今回は字数制限したいので「長さ」を選びます 長さには「最大文字数」か「最小文字数」を...