【Google Apps Script(GAS)】for文を使った繰り返し処理(条件分岐、最終行取得との組み合わせ)

オンラインGAS講座 開講中!
オンライン無料体験あり!
最短4週間でGASをマスターできる
Google Apps Scriptコース』開講中!

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();
var sh = ss.getActiveSheet();
var last_row = sh.getLastRow();

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文を使った繰り返し処理については下記記事もご参照ください。

Google Apps Scriptにおいて、指定した回数だけ繰り返し処理を実行したい場合、for文が頻繁に使われます。 for文は、...
Google Apps Scriptにおける、for文による繰り返し処理と最終行取得を組み合わせた例についてご紹介します。

getValueについては下記記事をご参照ください。

今回はGoogle Apps Scriptにおける、スプレッドシートの単一セルに入力されている値の取得方法(getValue)と、セル範囲に...

比較演算子については下記記事をご参照ください。

今回は、Google Apps Scriptにおける比較演算子と論理演算子についてご紹介します。 【Google Apps Script】...