今回はGoogle Apps Script (GAS) を使ってif文で条件分岐処理を実装する方法を紹介します。
Contents
if文で条件分岐
if(条件式){ //条件式を満たす(true)ときの処理を記述 }
ifのあとの()括弧内に含まれる条件を満たす(True/真である)場合に、中括弧内に書かれた処理を実行します。()括弧内の条件を満たさない(Flase/偽である)場合、中括弧内のスクリプトは実行されずに、スキップされます
if文の条件式で使う比較演算子
if文の括弧()内に記述する条件式では、様々な比較演算子を用いて条件判定を行います。Google Apps Scriptでは以下のような比較演算子を利用することができます。
「==」:左辺と右辺が等しい場合true、異なる場合false
「!=」:左辺と右辺が等しくない場合true、異なる場合false
「<」:左辺が右辺よりも小さい場合true、同じまたは左辺のほうが大きい場合false
「>」:左辺が右辺よりも大きい場合true、同じまたは左辺のほうが小さい場合false
「<=」:左辺が右辺以下の場合true、左辺のほうが大きい場合false
「>=」:左辺が右辺以上場合true、左辺のほうが小さい場合false
「===」:左辺と右辺がデータ型含め等しい場合true、異なる場合false
「!==」:左辺と右辺がデータ型含め等しくない場合true、異なる場合false
Number型の数値変数の場合は、変数に代入されている数値が等しいまたは大きい・小さいを比較します。
GASにおけるif文のサンプルコード
以下では実際にGoogle Apps Script(GAS)でif文を使ったサンプルコードを解説します。
Google Apps Scriptでif文を使った条件分岐のサンプルコード
function myFunction() { // 10の数字が入った変数で色々なif文の条件判定 const num = 10; // 10は0よりも大きいため、if文の条件式はtrueで処理が実行 if (num > 0){ console.log(num + 'は0よりも大きい数字です。') } // 10は3よりも大きいため、if文の条件式はfalseでスキップ if (num < 9){ console.log(num + 'は9より小さい数字です。') } // 10は2の倍数のため、if文はtrueで処理が実行 if (num % 5 == 0){ console.log(num + 'は5で割り切れる数字です。') } }
GASスクリプトを実行すると、条件を満たしたif文のみconsole.logのログ出力が行われています。
<実行結果>
23:09:33 お知らせ 実行開始23:09:33 情報 10は0よりも大きい数字です。23:09:33 情報 10は5で割り切れる数字です。23:09:34 お知らせ 実行完了
Google Apps Scriptのif文のサンプルコードを実行した結果、条件式が真(true)になるものだけ処理が実行され、条件式を満たした1つ目のif文と3つ目のif文のみ中括弧内の処理が実行されています。2つ目のif文は10 > 9でfalseのため、処理がスキップされます。
elseによる条件分岐
Google Apps Script(GAS)も他のプログラミング言語同様にelse文が用意されています。
if(条件式){ //条件式を満たす(true)ときの処理を記述 }else{ //条件式を満たさなかった(false)ときの処理を記述 }
elseでの条件分岐のサンプルコード
function myFunction2() { // 10の数字が入った変数で色々なif文の条件判定 const num = 10; if (num % 5 == 0){ console.log(num + 'は5の倍数です。') } else { console.log(num + 'は5の倍数ではありません。') } }
<実行結果>
10は5の倍数です。
もし変数numを5の倍数以外にすると ○○は5の倍数ではありませんという実行結果になります。
複数の条件分岐を行うelse ifを組み合わせ
さきほどはif-else文は条件式を満たすor満たさないの2つの条件に分岐するGoogle Apps Scriptのプログラムでした。さらに3つ以上の条件分岐を行うことができるelse if文というのがGASでは利用可能です。
if(条件式1){ //条件式1を満たす(true)ときの処理を記述 }else if(条件式2){ //条件式1が満たさず(false)、条件式2を満たす(true)ときの処理を記述 }else{ //条件式1,2いずれも満たさなかった(false)ときの処理を記述 }
else ifは「if文の条件式がfalseかつ、elseifの条件式がtrueの場合、処理が実行」されます。if文の条件式1もelse if文の条件式2のいずれも満たさない場合にelse文の処理が実行されます。else if文はプログラミング言語によっては「elseif」とスペースを入れないものや、Pythonのように「elif」と表現する場合もあります。GASでは条件式を()で加工必要があることに加えて、elseとifの間に半角スペースを開けて書く必要があるので覚えておきましょう。
else ifを用いた条件分岐のサンプルコード
例えば、数値型変数がどの範囲に収まるか条件分岐で確認できます。
function myFunction3() { // 5の数字が入った変数で色々なif文の条件判定 const num = 5; if (num < 3){ console.log(num + 'は3未満です。') }else if (num >= 3 & num < 5) { console.log(num + 'は3以上5未満の数です') } else { console.log(num + 'は5以上です。') } }
最初のif文がfalseになっていることから9以下の数字となり、else ifで3より大きいことから、「6は3より大きく9以下の数字」となります。このようにif-else ifを使うことで3つ以上の条件分岐をGASスクリプトで表現可能です。
処理が複雑になるほど、条件分岐のパターンが増えるので、else ifはよくGASで使われます。ただ、else if文を多用しすぎると、条件分岐が多くなってGASスクリプトが読みづらくなります。
まとめ
今回、Google Apps Script(GAS)の条件分岐の構文として最もよく使うif文を紹介しました。GASを使った処理は①繰り返し処理と②条件分岐が基本となります。条件分岐として、最も利用頻度が高いのif文で、条件式を満たした場合だけ処理を実行する、みたいなパターンです
関連記事:【GAS】for文で配列処理やループ処理を行うサンプルコード
さらにelse文でif文の条件を満たさなかった場合の処理が実行され、else if文を使うことで3つ以上の条件分岐が実装可能です。日常的な業務を行う中でもこうした条件分岐を行った仕事を行っているので、そうした業務をGASで自動化する際には条件分岐は必須となります。if文、else if文、else文の使い方をマスターして、様々な条件に応じた処理を実装しましょう。
コメント
[…] 関連記事:【GAS】if文で条件分岐を行うサンプルコード […]