【Goolge Apps Script 入門】if文を使ってみよう
if文とは
if文は、制御文の中で最も基本的なものです。if文のifには英語で「もし~ならば」という意味があり、プログラムで「Aという条件を満たすときにBという処理を実行する」という場合はif文を使います。
if(条件式){
処理内容
}
if文は「条件式」と「処理内容」を記述します。条件式が、trueの場合に「処理内容」が実行されます。
---記載例---
if(A<B){
sum++;
}
変数BがAより大きければ、変数「sum」を1つずつ増やす
というプログラムです
主な条件式
条件式でよく利用するものを表にまとめました。
「a == b」 aとbが等いときはtrue、それ以外はfalseを返す
「a > b」 aがbよりも大きいときはtrue、それ以外はfalseを返す
「a < b」 aがbよりも小さいときはtrue、それ以外はfalseを返す
条件式 | 説明 |
---|---|
> | 大きい |
< | 小さい |
== | 等しい |
!= | 等しくない |
if else文の書式
「if else文の書式」は、下記のようになります。
もし、条件式が成立するらな「処理内容1」を実行して、成立しないなら「処理内容2」を実行しなさい
if (条件式){
処理内容1 //条件式を満たす場合にのみ実行する
}
else{
処理内容2 //条件式を満たさない場合にのみ実行される
}
例文です。スプレッドシートの値を読み込んで、どちらが大きいか判断して表示するというものです。
今回のプログラムの説明は「E1」と「F1」の値を読み込みどちらが大きいかを判断します。大きかったほうの文字を出力するというもの。プログラムのアプリを作成するなら別ですが、プログラムの勉強だけするならスプレッドシートと合わせて実施していくと学習しやすいですね。
function juge(){
let a;
let b;
a = SpreadsheetApp.getActiveSheet().getRange(1,5).getValue();
b = SpreadsheetApp.getActiveSheet().getRange(1,6).getValue();
if(a<b){
SpreadsheetApp.getActiveSheet().getRange(1,7).setValue("左の数字が大きかったよ!");
}else{
SpreadsheetApp.getActiveSheet().getRange(1,7).setValue("右の数字が大きかったよ!");
}
}
if文と論理演算子
論理演算子とは、プログラミング言語などに用意された、論理演算を表す記号や符号などのことです。代表的なものに、論理否定(NOT)、論理和(OR)、論理積(AND)があります。
論理積(AND) 演算子:&& 使用例:A&&B 意味:AとBが共に「true」
論理和(OR) 演算子:|| 使用例:A || B 意味:AかBどちらか「true」
論理否定(NOT) 演算子:! 使用例:A! 意味:Aが「true」なら「False」
さっそく、論理演算子を考慮したプログラムを作成してみます。今回は、セルの「E3」に数学の点数 「F3」に英語の点数を入力してあると仮定します。合格の点数は、80点としたときに、合格か不合格かを表示するプログラムです。
今回は、不合格になるようにセルに点数を入力してみました。
function juge(){
let a;
let b;
a = SpreadsheetApp.getActiveSheet().getRange(3,5).getValue();
b = SpreadsheetApp.getActiveSheet().getRange(3,6).getValue();
if(a>80 && b>80){
SpreadsheetApp.getActiveSheet().getRange(3,7).setValue("合格です");
}else{
SpreadsheetApp.getActiveSheet().getRange(3,7).setValue("不合格です");
}
}
最後に
今回はif文と条件分岐について説明しました。if文を用いたプログラムを書けるようになったら、elseやand・or・notによる条件分岐も試してみましょう。
合わせて読んでほしい
“【Goolge Apps Script 入門】if文を使ってみよう” に対して1件のコメントがあります。