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

Google apps script☓if elseifのコード内容

1. 処理する範囲とシートを変数定義

まず処理するシートを決めて変数へ格納します。今回はシート1を設定。

次に条件範囲を変数rngに格納

 

最終行を変数valに格納

 

背景色を変数colorに格納します。

var変数(var ss,sht,rng,val,color)の各内訳

  • ss・・スプレッドシートAppを呼び出し
  • sht・・シート1を呼び出し
  • rng・・条件式の範囲
  • val・・最終行
  • color・・背景色(今回は黄色)
POINT!

条件式の範囲は指定せずにgetlastRowでもOK。可変するデータの時にオススメです。

例)

rng = sht.getRange(“C4:C18”).getValues();

rng = sht.getlastRow();

参照:getlastRow()

2. for loop処理を設定する

for loop文を使って繰返し処理を設定します。

for文の解説

for(初期化式;継続条件式;増減式)
{
条件式がtrueの時に実行する繰返し処理
}

コード➜for(var i=0; i<=val-4; i++)

 

  • 初期化式が0(i=0)
  • 継続条件式が最終行-4の値まで(i<=val-4)
  • 増減式はプラス(i++)
POINT!

i<=val-4の意味は※開始4行目から18回(val:最終行分)繰り返す処理を、C列の最終行に合わせるために

val-4 ➜ 18-4(行目)

と設定しています。

※開始4行目はif文で設定しています。

3. if elseifを設定する

if elseifで条件分岐「〜だったら・・」を設定します。

if elseif文の解説

If (条件式1) {
処理A
}elseif (条件式2){
処理B
}else{
処理C
}
  • 条件式1が”赤テキスト”なら
    (rng[i]=="赤テキスト")
  • 処理Aはテキストを”赤文字”・フォント色を”赤”に
    (sht.getRange(i+4,4).setValue('赤文字').・・・)
  • 条件式2が”赤テキスト黄色塗り”なら
    (rng[i]=="赤テキスト黄色塗り")
  • 処理Bはテキストを”赤&黄色”・背景を黄色に
    (sht.getRange(i+4,4).setValue('赤&黄色').・・・)
  • どれでもなかったら処理C
    (sht.getRange(i+4,4).setValue('青文字').・・・)
アヒルン
アヒルン

このソースコード分かりづらいね・・

はい・・ごめんなさい。

POINT!

割愛したコードの内訳を記載しておきます。

  • テキストを中央へ
    setHorizontalAlignment(“center”)
  • フォントカラーを赤へ
    setFontColor(“red”)
  • セルの背景色を変える
    setBackground(color);

背景色の「color」は変数宣言varで黄色(color = “#ffff93″//背景色)に設定しています。

参考:Class Range

Google apps script if else文の結果

全部を繋ぐとこんな感じですね↓

 

アヒルン
アヒルン

その他が全部青文字になったw

うちゅうじん
うちゅうじん

そういうプログラムだからね

関連記事 Google apps script でfilterをかける方法|Sheet APIと連携したら上手くいった

まとめ

if elseとif elseifを使って分岐は上手く出来ましたか?

 

for loopとif文を組み合わせて使うことで、連続した分岐処理を行えて非常に便利です。

 

まとめると

  1. シート範囲と最終行を変数へ格納
  2. for文で処理範囲・回数を設定
  3. if文で条件式を設定して分岐させる

こんな感じです。

 

if elseifで人の判断を介さず条件分岐できることこそ、プログラミングの醍醐味の1つではないでしょうか?

 

OYAKUN
OYAKUN
人生もある程度if elseifで自動選択出来たら楽チンなんですが・・苦笑

オススメ スプレッドシートの印刷をスマホからコンビニで!実際にやってみたよ!

オススメ スプレッドシート行の色を交互に!たった3クリックで設定出来るよ!

コメント

タイトルとURLをコピーしました