【Google Apps Script(GAS)】比較演算子と論理演算子

今回は、Google Apps Scriptにおける比較演算子と論理演算子についてご紹介します。

※本ページはプロモーションが含まれています

スポンサーリンク
スポンサーリンク

【Google Apps Script】比較演算子とは?

比較演算子とは、「大きい」や「以上」など、値と値を比較する時に使うものです。
名前だけ見ると難しそうですが、要は算数で使われる等号や不等号のようなイメージです。
比較演算子は、指定した条件を満たしている場合には「true」を返し、満たしていない場合には「false」を返します。

下記の表は、Google Apps Scriptの比較演算子になります。

名前比較演算子説明返ってくる値
等価==左辺と右辺が等しい場合、trueを返す1==1true
1==2false
厳密等価===左辺と右辺が等しく、データの型も同じ場合、trueを返す1===1true
1===’1′false
不等価!=左辺と右辺が等しくない場合、trueを返す1!=2true
1!=1false
厳密不等価!==左辺と右辺が等しくなく、データの型も同じではない場合、trueを返す1!==’1′true
1!==1false
より小さい<左辺が右辺より小さい場合、trueを返す1<2true
1<1false
以下<=左辺が右辺以下の場合、trueを返す1<=1true
1<=0false
より大きい>左辺が右辺より大きい場合、trueを返す1>0true
1>2false
以上>=左辺が右辺以上の場合、trueを返す1>=0true
1>=2false

Google Apps ScriptとVBAとの違いは、等しい場合の「==」(GAS)と「=」(VBA)や、等しくない場合の「!=」(GAS)と「<>」(VBA)、などの書き方になります。

また、厳密等価や厳密不等価といったところはVBAにはありませんが、覚える優先順位としては後回しでも問題ないかと思われます。

【Google Apps Script】論理演算子とは?

論理演算子は下記のように、「AかつB」や「AまたはB」など、複数の条件を組み合わせて使う場合に使うものです。

[条件式A] && [条件式B]
[条件式A] || [条件式B]
![条件式A]

論理演算子説明返ってくる値
&&論理積 (AND)1 > 0 && 0 <= 1true
0 > 1 && 0 <= 1false
||論理和 (OR)1 > 0 || 0 <= 1true
0 > 1 || 1 <= 0false
!論理否定 (NOT)!(0 > 1)true
!(1 > 0)false

また、Google Apps ScriptとVBAでは、論理積の「&&」(GAS)と「And」(VBA)や、論理和の「||」(GAS)と「Or」(VBA)や、論理否定の「!」(GAS)と「Not」(VBA)、など全て違いますので、両方覚えていく際には使い方の切り替えが必要です。

演算子確認のためのサンプルスクリプト

以下のスクリプトを実行すると、それぞれの演算子に対して返ってくる値が分かります。

※サンプルの画像はスプレッドシート上にそのまま入力したため「TRUE」「FALSE」となっていますが、データ上は「true」「false」です。

・比較演算子

function myFunction() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();

sh.getRange(2, 2).setValue(1==1); //true
sh.getRange(3, 2).setValue(1==2); //false
sh.getRange(4, 2).setValue(1===1); //true
sh.getRange(5, 2).setValue(1===’1′); //false
sh.getRange(6, 2).setValue(1!=2); //true
sh.getRange(7, 2).setValue(1!=1); //false
sh.getRange(8, 2).setValue(1!==’1′); //true
sh.getRange(9, 2).setValue(1!==1); //false
sh.getRange(10, 2).setValue(1<2); //true
sh.getRange(11, 2).setValue(1<1); //false
sh.getRange(12, 2).setValue(1<=1); //true
sh.getRange(13, 2).setValue(1<=0); //false
sh.getRange(14, 2).setValue(1>0); //true
sh.getRange(15, 2).setValue(1>2); //false
sh.getRange(16, 2).setValue(1>=0); //true
sh.getRange(17, 2).setValue(1>=2); //false

}

比較演算子

比較演算子

・論理演算子

function myFunction() {

var ss = SpreadsheetApp.getActiveSpreadsheet();
var sh = ss.getActiveSheet();

sh.getRange(2, 2).setValue(1 > 0 && 0 <= 1); //true
sh.getRange(3, 2).setValue(0 > 1 && 0 <= 1); //false
sh.getRange(4, 2).setValue(1 > 0 || 0 <= 1); //true
sh.getRange(5, 2).setValue(0 > 1 || 1 <= 0); //false
sh.getRange(6, 2).setValue(!(0 > 1)); //true
sh.getRange(7, 2).setValue(!(1 > 0)); //false

}

論理演算子

論理演算子

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