広告

Google apps scriptでif else|条件分岐を使ってみよう

2018年2月8日

Google apps scriptでif elseを使って条件分岐を行う方法をご紹介します。

  • Google apps scriptでif elseを使いたい方
  • Google apps scriptで条件分岐したい方
  • 自動で条件分岐処理を行いたい人

以上のような人は必見です(^^)

Google apps script・if elseで条件分岐をしてみよう

冒頭GIFのコードはこちら↓

function ifelse1() {
var ss,sht,rng,val,lastr,color
  ss = SpreadsheetApp.getActiveSpreadsheet();
sht = ss.getSheetByName('シート1');
rng = sht.getRange("C4:C18").getValues();
lastr= sht.getLastRow();
color = "#ffff93"
val = lastr
Logger.log(val);
for (var i=0; i <=val-4; i++){
if(rng[i]=="赤テキスト"){
sht.getRange(i+4,4).setValue('赤文字').setHorizontalAlignment("center").setFontColor("red");
}else if(rng[i]=="赤テキスト黄色塗り"){
sht.getRange(i+4,4).setValue('赤&黄色').setHorizontalAlignment("center").setFontColor("red").setBackground(color);
}else{
sht.getRange(i+4,4).setValue('青文字').setHorizontalAlignment("center").setFontColor("blue");
  }
}
}
function リセット(){
var ss,sht,val
ss= SpreadsheetApp.getActiveSpreadsheet();
sht = ss.getSheetByName('シート1');
val = sht.getRange("D4:D18").clear();
}
point!
今回はif文(条件分岐)についてご紹介しておりますが、同時にfor loop処理も行っています。for文の操作については下記記事を参照下さい↓
関連記事Google apps scriptでfor loopを使おう

前回記事でも少しだけ触れた条件分岐ですが、当記事ではもう少し掘下げてご説明していきます。

直ぐにGIFコードの説明を見たい方はコチラ

if elseの基本的な書き方

If(条件式){
処理A
} else {
処理B
}

条件式

trueかfalseの値を取得するもの。

処理A

trueの場合に実行される処理。

処理B

falseの場合に実行される処理。

参考:Google apps scriptでfor loop

Google apps scriptでは「if else」を使って条件分岐を設定することが出来ます。

条件分岐とは?
もし〜だったらAを実行。〜でなかったらBを実行。というある条件下で分岐する処理のこと。

if elseの構文

If(条件式){
 処理A
} else {
 処理B
}

if else構文の意味

もし条件式通りだったら(true)

処理Aを実行。

条件式でなかったら(false)

処理Bを実行。

ある一定の条件に達していない時に処理結果を変える、またはYESかNOで処理を変える、そんな時に使えます。

OYAKUN
OYAKUN
個人的にExcelVBAで「メッセージボックス>はいorいいえ(vbyesno)」処理の際にif文を多用してます。色は違いますが...

Google apps scriptでif elseを使った例

例えばテスト結果を一括で評価する時。「75点以上なら◯、以下なら☓」と条件を分岐する処理を与えれば・・

あひる
あひる
お〜条件で別れた結果が表示されてるね!こっちを冒頭にもってきた方が良かったんじゃ・・

ううこ
ううこ
お、、、おっふ

さらに条件を加えて分岐したい場合は「if elseif」を使います。

If elseifの書き方 (if elseifの構文)

本記事の冒頭で使用したコードの構文はこっち。

If (条件式1) {
処理A
}elseif (条件式2){
処理B
}else{
処理C
}

if elseif構文の意味

If (条件式1) {
条件式1がtrueなら処理A
}elseIf (条件式2) {
条件式2がtrueなら処理B
}else{
条件式1と条件式2がfalseなら処理C
}

冒頭GIFのコードでは

  • 条件1が"赤テキスト”だったら赤文字へ
  • 条件2が"赤テキスト黄色塗り"だったら背景黄+赤文字へ
  • 条件1でも条件2でもなかったら青文字へ

という処理を書きました。

条件式1と条件式2を設定し、その結果によって処理をA・B・Cと振り分けることが可能です。イメージだとこんな感じ↓

あひる
あひる
条件式1がtrue➜処理A、false➜条件式2、条件式2がtrue➜処理B、false➜処理C・・という感じで処理が別れるんだね。ちょっと複雑・・

ううこ
ううこ
elseifで条件式を追加していけば処理を増やすことが可能なのだ。そんなに難しく考える必要はない。

実際にif elseif構文を使ったコードの内容を解説していきます。

次のページへ >