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

2018年1月21日日曜日

列内で特定の値に一致する行番号を取得する


このような値が入ったシートを用意して

「え」の行の2列目(B列)に値を入れたい


こんなふうに

A列の中で「え」が何行目にあるのかを見つければ実現できる



コード.gs
function input_value(){
 var key = "え";
 var col = "A";
 var sh = SpreadsheetApp.getActiveSheet();  
 var row = get_row(key, col, sh);
 sh.getRange(row, 2).setValue("ここ")
}

function get_row(key, col, sh){
 var array = get_array(sh, col);
 var row = array.indexOf(key) + 1;
 return row;
}

function get_array(sh, col) {
  var last_row = sh.getLastRow();
  var range = sh.getRange(col + "1:" + col + last_row)
  var values = range.getValues();
  var array = [];
  for(var i = 0; i < values.length; i++){
    array.push(values[i][0]);
  }
  return array;
}
意訳
この機能がやること
探すテキストを指定して
探す列を指定して
シートを取得して
get_rowに渡して行番号を取得して
その行の2列目に値を入力する


この機能がやること
受け取ったシートと列をget_arrayに渡して値を配列で取得して
その中でkeywordが何番目にあるか見つけて
返す


この機能がやること
受け取ったシートでデータが入力されている最終行を取得して
受け取った列の1行目から最終行を選択して
値をすべて取得して
配列の入れ物を用意して
値の数だけ以下を繰り返す
arrayに一つずつ値を入れて

全部入った配列を返す



Latest post

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

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