今回は、Google Apps Scriptにおける比較演算子と論理演算子についてご紹介します。
【Google Apps Script】比較演算子とは?
比較演算子とは、「大きい」や「以上」など、値と値を比較する時に使うものです。
名前だけ見ると難しそうですが、要は算数で使われる等号や不等号のようなイメージです。
比較演算子は、指定した条件を満たしている場合には「true」を返し、満たしていない場合には「false」を返します。
下記の表は、Google Apps Scriptの比較演算子になります。
名前 | 比較演算子 | 説明 | 例 | 返ってくる値 |
等価 | == | 左辺と右辺が等しい場合、trueを返す | 1==1 | true |
1==2 | false | |||
厳密等価 | === | 左辺と右辺が等しく、データの型も同じ場合、trueを返す | 1===1 | true |
1===’1′ | false | |||
不等価 | != | 左辺と右辺が等しくない場合、trueを返す | 1!=2 | true |
1!=1 | false | |||
厳密不等価 | !== | 左辺と右辺が等しくなく、データの型も同じではない場合、trueを返す | 1!==’1′ | true |
1!==1 | false | |||
より小さい | < | 左辺が右辺より小さい場合、trueを返す | 1<2 | true |
1<1 | false | |||
以下 | <= | 左辺が右辺以下の場合、trueを返す | 1<=1 | true |
1<=0 | false | |||
より大きい | > | 左辺が右辺より大きい場合、trueを返す | 1>0 | true |
1>2 | false | |||
以上 | >= | 左辺が右辺以上の場合、trueを返す | 1>=0 | true |
1>=2 | false |
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 <= 1 | true |
0 > 1 && 0 <= 1 | false | ||
|| | 論理和 (OR) | 1 > 0 || 0 <= 1 | true |
0 > 1 || 1 <= 0 | false | ||
! | 論理否定 (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(); sh.getRange(2, 2).setValue(1==1); //true } |
・論理演算子
function myFunction() { var ss = SpreadsheetApp.getActiveSpreadsheet(); sh.getRange(2, 2).setValue(1 > 0 && 0 <= 1); //true } |