便利なGASレシピ集!に戻る場合は以下から
Contents
はじめに
どうも、ビジボットです。
今回の記事はGoogleAppsScript (GAS) で分岐処理(if文)を記述する方法を紹介していきます。GASで分岐処理を記述するパターンは数多くあり、比較演算子などを使って複雑なプログラム処理を行うために必ずと言っていいほど使う記述です。「if文」以外にも分岐処理は「switch文」があります。
スクリプトエディタを用意する
GoogleDriveからスクリプトエディタを用意します。
「新規」のボタンをクリックすると以下画面が表示され、「その他」をクリックして「Google Apps Script」を選択します。

以下関連記事は、初心者がGASを始める初歩的な内容をまとめた記事です。この関連記事にもサンプルコードと実際にログで出力された結果を記載しているので参考にしてみてください。
分岐処理(if)のレシピ①
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
function myFunction() { // 数字の比較 if(1 === 1){ Logger.log('1 === 1は正しい'); } // 数字の比較 if(1 === 2){ Logger.log('1 === 2は正しい'); }else{ Logger.log('1 === 2は正しくない'); } // 文字の比較 if('ビジボット' === 'ビジボット'){ Logger.log('ビジボット === ビジボットは正しい'); } // 文字の比較 if('ビジボット' === 'bzbot'){ Logger.log('ビジボット === bzbotは正しい'); }else{ Logger.log('ビジボット === bzbotは正しくない'); } } |
Logger.logの結果
1 2 3 4 |
[19-07-09 09:53:33:294 PDT] 1 === 1は正しい [19-07-09 09:53:33:294 PDT] 1 === 2は正しくない [19-07-09 09:53:33:295 PDT] ビジボット === ビジボットは正しい [19-07-09 09:53:33:295 PDT] ビジボット === bzbotは正しくない |
「if文」はもし、[条件]がTRUE(正しい)ならifの {} の中を実行します。
もし、[条件]がFALSE(正しくない)ならifの {} の中をスキップして処理が進みます。
記述量はごくわずかなので、上記はシンプルな例です。
「else」は結果がFALSEだった時にelse{}の中が必ず実行されます
分岐処理(else if)のレシピ②
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 |
function myFunction() { // else if Logger.log('else ifの処理'); var x = 1; if( x < 1 ){ Logger.log('x < 1は正しい'); }else if( x < 2 ){ Logger.log('x < 2は正しい'); }else if( x < 3 ){ Logger.log('x < 3は正しい'); } // if Logger.log('ifだけの処理'); if( x < 1 ){ Logger.log('x < 1は正しい'); } if( x < 2 ){ Logger.log('x < 2は正しい'); } if( x < 3 ){ Logger.log('x < 3は正しい'); } } |
Logger.logの結果
1 2 3 4 5 |
[19-07-10 03:04:01:135 JST] else ifの処理 [19-07-10 03:04:01:136 JST] x < 2は正しい [19-07-10 03:04:01:136 JST] ifだけの処理 [19-07-10 03:04:01:137 JST] x < 2は正しい [19-07-10 03:04:01:137 JST] x < 3は正しい |
「if」と「else if」の違いは上記です。
「else if」は1つの処理の中で一致した処理の最初が実行されて終わります。
反対に「if」は全ての分岐処理が実行されます。
「if」と「else if」の分岐処理は結果が異なる
分岐処理(switch)のレシピ③
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
function myFunction() { var x = 6; switch (x){ case 2: Logger.log('x = 2の結果がTRUEだったら実行されます'); break; case 4: Logger.log('x = 4の結果がTRUEだったら実行されます'); break; case 6: Logger.log('x = 6の結果がTRUEだったら実行されます'); break; case 8: Logger.log('x = 8の結果がTRUEだったら実行されます'); break; case 10: Logger.log('x = 10の結果がTRUEだったら実行されます'); break; default: Logger.log('該当なしだったら実行されます'); break; } } |
Logger.logの結果
1 |
[19-07-10 03:16:19:112 JST] x = 6の結果がTRUEだったら実行されます |
シンプルな処理であれば「else if」で書いていた文より「switch」を使うことでよりシンプルに表現することが出来ます。
入れ子ifのレシピ④
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
function myBmi() { /* *BMI = 体重kg ÷ (身長m)2 *適正体重 = (身長m)2 ×22 *18.5未満 → がりがり時代 *18.5〜25未満 → すらすら時代 *25〜30未満 → ぷにぷに時代 *30〜35未満 → むちむち時代 *35〜40未満 → ぱんぱん時代 *40以上 → 今すぐ病院へ行こう */ // 自分の体重 var weight = 68; // 自分の身長 var height = 173; height /= 100; // BMI計算コード // 適正体重計算コード if(weight !== "" && height !== ""){ var bmi = weight / (height * height) Logger.log('BMI:' + bmi); var bestWgt = height * height * 22; Logger.log('適正体重:' + bestWgt); if(bmi >= 40){ Logger.log('今すぐ病院へ行こう'); }else if(bmi >= 35){ Logger.log('ぱんぱん時代'); }else if(bmi >= 30){ Logger.log('むちむち時代'); }else if(bmi >= 25){ Logger.log('ぷにぷに時代'); }else if(bmi >= 18.5){ Logger.log('すらすら時代'); }else{ Logger.log('がりがり時代'); } } } |
Logger.logの結果
1 2 3 |
[19-07-13 14:14:40:751 JST] BMI:22.720438370810918 [19-07-13 14:14:40:751 JST] 適正体重:65.8438 [19-07-13 14:14:40:752 JST] あなたの体重は:すらすら時代 |
適正体重ではないですが、、自分の体重に対してBMIとあるべき体重がわかりました。「if文」で、はじめに身長と体重の値が入っていることを確認し、BMIと適正体重を計算します。
その後、「if文」の中に「if文」を記述し、BMIの結果を計算で出た結果に基づいて結果を変えてます。
便利なGASレシピ集!に戻る場合は以下から