Google Apps Scriptにおける、for文による繰り返し処理と、条件分岐や最終行取得を組み合わせた例についてご紹介します。
for文を使った繰り返し処理
下記のサンプル1ですが、まず変数last_rowに、アクティブシートの文字列が入力されているセルの最終列の数値を代入します。
次にfor文の()の中ですが、以下のようになっています。
var i = 0は、変数iの初期値に0を指定する、という初期化式
i < last_row – 1は、変数iが、変数last_rowに代入された数値をー1した数値(今回は9)より小さい間は処理を繰り返す、という条件式
i++は、繰り返す度に変数iを+1していく、という増減式
まとめると、変数iの初期値は0で、処理を繰り返す度に変数iを+1していき、変数iが変数last_row-1より小さい間は処理を繰り返す、という事になります。
続いてfor文の{}の中の処理内容ですが、これは以下のようになっています。
変数scoreに、アクティブシートの2 + i行目のA列に記載されている数値を代入
次にif文のifの()の中ですが、変数scoreに代入した数値が100と等しい場合、同じ行のB列に◎を記載
else if の()の中とelseは上から順に、
変数scoreに代入した数値が80以上かつ99以下の場合、同じ行のB列に〇を記載
変数scoreに代入した数値が50以上かつ79以下の場合、同じ行のB列に△を記載
それ以外の数値(49以下の数値)の場合、同じ行のB列に×を記載
となります。
・サンプル1
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); for (var i = 0; i < last_row – 1; i++) { var score = sh.getRange(2 + i, 1).getValue(); if (score == 100){ sh.getRange(2 + i, 2).setValue(‘◎’); } else if (score >= 80 && score <= 99) { sh.getRange(2 + i, 2).setValue(‘○’); } else if (score >= 50 && score <= 79) { sh.getRange(2 + i, 2).setValue(‘△’); } else { sh.getRange(2 + i, 2).setValue(‘×’); } |
for文を使った繰り返し処理については下記記事もご参照ください。
getValueについては下記記事をご参照ください。
比較演算子については下記記事をご参照ください。