Google apps scriptでfor loopを使って繰返し処理をする方法をご紹介します。
この記事は以下の人にオススメです。
- GASでfor loopの使い方を理解したい人
- GASで繰り返し処理をしたい人
- GASでfor loopしながらifで条件分岐したい人
Google apps scriptでfor loopを使って繰返し処理を行う3ステップ
冒頭GIFで使用したスクリプトはコチラ↓

おお!こんな短いコードでも繰り返し処理できるんだね!もしかしてカンタン・・??

理解すればそれほど難しい処理ではない
for文の基本的な書き方
for(初期化式;継続条件式;増減式)
{
条件式がtrueの時に実行する繰り返し処理
}
初期化式
ループの前に行う処理の式。変数宣言して初期値を決める(例:var i=1)
継続条件式
ループを終えるための条件式。trueの間はループ、falseの場合はループ終了。
増減式
ループ処理の最後に毎々実行。カウンタ変数の値を(演算子で)増減させる式が一般的。
Google apps scriptとはいえ、基本的にはjavascriptのfor文の書き方を同じです。
ではGoogle apps scriptのfor文によるloop処理を3STEPで。
繰り返し処理するシート範囲を変数宣言で格納
スプレッドシートAppを呼び出して、繰返し処理したい対象のシートを変数へ格納します。
- sheet・・スプレッドシートappを呼び出し
- sht・・シート1を呼び出し

ここで繰返し処理をしたい範囲を決めるってこと?

そ。
最終行を取得
繰返し処理を最終行まで行いたいので、getLastRowメソッド
でシート1の最終行を取得します。
getLastRow()
コンテンツを持つ最後の行の位置を返します。
- lastRow・・シート1の最終行
ここで取得した値は、先にご紹介したfor文の「継続条件式」に使用します。

ここでループ処理する回数を決めるんだね。

YES。注意点があるので述べとく
Google apps scriptでは列指定した最終行の取得は、現状不可。そのためシート全体の最終行を取得しています。(間違ってたらすみません)
for文で繰り返し処理
最後にfor文で繰り返し処理を行っていきます。
先のfor文の書き方に当てはめて、
for(初期化式;継続条件式;増減式)
{
条件式がtrue時に実行する繰り返し処理
}
- 初期化式が2( i=2)
- 継続条件式が最終行まで(lastRow)
- 増減式はプラス(++)
- 繰返し処理の内容は「3列目i行まで◎を記入」
ここまでのコードを全て繋げると以下になるはず↓
実際に処理を行ってみると・・

で...きたw!
for文を使ってloop処理出来ました(^^)

でも参照する値が空白だった時に、◎を空白にするのってどうやればいいの?

それはifで条件分岐を使う。次ページで説明しよう
関連記事Google apps script でfilterをかける方法
POINT!
ループ処理の範囲をセル位置で指定する場合は、
とすることで範囲指定できます。