GoogleSpreadSeetを書くときによく使われている条件式を紹介する。

A flower shop in Harajuku

こんにちは、書川(カキカワ)です。

これまでに僕がGASで自動化する際に頻繁に使う関数や繰り返しの処理を行う時の書き方を紹介してきた。

これから紹介する条件式を書くためのif文の基本的な使い方を理解することで、自動化処理を作成する際に必要な条件分岐が分かる。

以下の記事に書かれているスプレッドシートから外部のチャットアプリのSlackにメッセージを自動で送信するなどの自動化のシステムを開発も可能になる。

if文(条件分岐)の基本

if文は英単語と考え方は同じなので、難しいことはない。

プログラミングではある条件式に対して、真の場合に行う処理偽の場合に行う処理と処理の分岐が可能。

実際に書いてみると、以下のように書くことが出来る。

if(条件式){
//True(真の場合)の時に処理する
}else{
//False(偽の場合)の時に処理する
}

数式を見るだけではイメージが沸かないから、実例を紹介する。

スプレッドシートのセルは51未満の数字と、51以上の数字をそれぞれが一つ以上含まれるようにA列2行目のセルからA列6行目のセルまでの5つのセルに数値を入力しましょう。

入力した値の大きさを条件にして出力される情報を変化させるための以下のコード使用する。

スプレッドシートのツールバーにあるスクリプトを選択して、以下のコードをコピー&ペーストする。

上記のコードを解説する

if(sheet.getRange(i, 1).getValue()>=’51’){
Logger.log(“ぶひ”);
}else{
Logger.log(“ぶほ”);
}

条件式では、「取得した値が51以上の時」と設定しており、返り値がtrue(真の場合)では、「ぶひ」と出力され、false(偽の場合)では、「ぶほ」と出力される。

if文に書かれている「else」は、条件式に当てはまらないfalse(偽の場合)の処理を書く時に使われる。

その他にも「else if(条件式2)」というものもあり、一つ目の条件式に当てはまらないfalse(偽の場合)の場合に新しい条件式を設けて、その処理を行うことが出来る。

if(条件式1){
//True(真の場合1)の時に処理する
}else if(条件式2){
//True(真の場合2)の時に処理する
}else {
//False(偽の場合2)
}

条件式1にとって、「else if」以下は大きなfalse新しい条件式が設定されているというイメージ。

スクリプトエディタにコピペしたコードをデバッグして、ログを表示してみましょう。

Automate pig's cry

条件式は不等号だけでなく、互いの値が正しいときや、どちらかの条件を満たす時などのような様々な条件の設定が出来るから、テストしながら確認することをお勧めする。

もしプログラミングに興味がある方は、本よりもUdemyの方が体系的ではなく実戦的に学ぶことができるかも知れません。

プログラミングの本に書いてある事って、どれも同じことしか書いていないのが事実だから、Udemyでは本で学ぶよりも何倍もの価値を得られる気がする。

プログラミングは数学と同じように理解せずに暗記すると応用が効かなくなる。

学生の時に長岡亮介さんの「本質の研究(現在では「総合的研究」となっています。)」で数学を学んで、初めて数学を理解出来てから数学が好きになった思い出がある。