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を使おう
今回はif文(条件分岐)についてご紹介しておりますが、同時にfor loop処理も行っています。for文の操作については下記記事を参照下さい↓
関連記事Google apps scriptでfor loopを使おう
前回記事でも少しだけ触れた条件分岐ですが、当記事ではもう少し掘下げてご説明していきます。
if elseの基本的な書き方
If(条件式){
処理A
} else {
処理B
}
条件式
trueかfalseの値を取得するもの。
処理A
trueの場合に実行される処理。
処理B
falseの場合に実行される処理。
参考:Google apps scriptでfor loop
Google apps scriptでは「if else」を使って条件分岐を設定することが出来ます。
if elseの構文
If(条件式){
処理A
} else {
処理B
}
if else構文の意味
もし条件式通りだったら(true)
処理Aを実行。
条件式でなかったら(false)
処理Bを実行。
ある一定の条件に達していない時に処理結果を変える、またはYESかNOで処理を変える、そんな時に使えます。
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構文を使ったコードの内容を解説していきます。