GAS GoogleAppsScript break文とcontinue文でループ処理を中断する方法まとめ|無料サンプル付き(基礎講座#15)
今回は、GAS GoogleAppsScriptでbreak文とcontinue文でループ処理を中断する方法をまとめました。無料サンプル付きですので初心者の方でも演習を通して理解できるよになっています。
まずは今回の下記break文とcontinue文の演習用のサンプルデータをダウンロードしてください。
では早速、 GASのbreak文とcontinue文をそれぞれ理解していきましょう。
GAS GoogleAppsScriptのbreak文
GAS GoogleAppsScriptのbreak文はループ処理の途中で使うことで処理を中断することができます。例えば1〜5行目までに料理名が書かれており、肉料理があった時点で処理を終了(中断)させたいといったときに使用しまうす。
まだ何のことかよくわからないですよね。実際に今回の目標物を確認しながらbreak文でできることを理解していきましょう。下記は今回の目標物です。
B列のデータをC列に出力したいが"え"まできたら"え"を出力して(”お”)まで行かずに処理を終了したいとします。
実際に今回の処理を行う時は、下記のコードになります。
function mySheet4() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getSheets()[3]
const lastRow = sheet.getLastRow();
for (i=2;i <= lastRow ;i++) {
var date = sheet.getRange(i,2).getValue();
sheet.getRange(i,3).setValue(date);
if(sheet.getRange(i,2).getValue() ==="え"){
break;
}
}
}
フローは下記の図のようになります。2行目から最終行目までの間にB列に入っている内容をC列に出力しました。さらにB列に”え”が入力されている場合は、えまで出力し処理を終了しているのがわかりましたか?
今回の目標物のように”お”のみ出力されなければ正解です。break文についての知識はしっかり身についたと思います。
GAS GoogleAppsScript continue文
次はGAS GoogleAppsScript continue文について学習していきましょう。for文の中で、"continue"が発動すると、それ以降の処理を飛ばして、次のループ処理(次のカウンタ変数になる)に進みます。
実際に今回の目標物は下記になります。
列のデータをC列に出力しますが"え"まできたら"え"のみ出力しないで"お"を出力してから処理を終了することとします。
実際にcontinue文を使用したコードは下記のようになります。
function mySheet4_2() {
var ss = SpreadsheetApp.getActiveSpreadsheet()
var sheet = ss.getSheets()[3]
const lastRow = sheet.getLastRow();
for (i=13;i <= lastRow ;i++) {
if(sheet.getRange(i,2).getValue() ==="え"){
continue;
}
var date = sheet.getRange(i,2).getValue();
sheet.getRange(i,3).setValue(date);
}
}
フローは下記の図のようになります。2行目から最終行目までの間にB列に入っている内容をC列に出力しました。さらにB列に”え”が入力されている場合は、"え"まのみスキップして処理を続けているのがわかりましたか?
今回の目標物のように”え”のみ出力されなければ正解です。continue文についての知識はしっかり身についたと思います。
まとめ
今回は、GAS GoogleAppsScript break文とcontinue文でループ処理を中断する方法まとめ|無料サンプル付き(基礎講座#15)について解説していきましたがいかがでしたでしょうか。
break文は途中で処理を中断することができ、continue文は処理をスキップして再度繰り返し処理を行うことができます。どちらもかなり重要な要素ですのでしっかり身につけてしまいましょう^^