今回はExcel VBAにおける、比較演算子と論理演算子についてご紹介します。
・比較演算子とは?
比較演算子とは、「大きい」や「以上」など、値と値を比較する時に使うものです。
名前だけ見ると難しそうですが、要は算数で使われる等号や不等号のようなイメージです。
比較演算子は、指定した条件を満たしている場合には「True」を返し、満たしていない場合には「False」を返します。
下記の表は、VBAの比較演算子になります。
比較演算子 | 説明 | 例 | 返ってくる値 |
= | 左辺と右辺が等しい場合、Trueを返す | 1=1 | True |
1=2 | False | ||
<> | 左辺と右辺が等しくない場合、Trueを返す | 1<>2 | True |
1<>1 | False | ||
< | 左辺が右辺より小さい場合、Trueを返す | 1<2 | True |
1<1 | False | ||
<= | 左辺が右辺以下の場合、Trueを返す | 1<=2 | True |
1<=0 | False | ||
> | 左辺が右辺より大きい場合、Trueを返す | 1>0 | True |
1>2 | False | ||
>= | 左辺が右辺以上の場合、Trueを返す | 1>=0 | True |
1>=2 | False |
VBAとGoogle Apps Scriptの違いは、等しい場合の「=」(VBA)と「==」(GAS)や、等しくない場合の「<>」(VBA)と「!=」(GAS)、などの書き方になります。
・論理演算子とは?
論理演算子は下記のように、「AかつB」や「AまたはB」など、複数の条件を組み合わせて使う場合に使うものです。
[条件式A] And [条件式B]
[条件式A] Or [条件式B]
Not [条件式A]
下記の表は、 VBAの論理演算子になります。
論理演算子 | 説明 | 例 | 返ってくる値 |
And | 論理積 (AND) | 1 > 0 And 0 <= 1 | True |
0 > 1 And 0 <= 1 | False | ||
Or | 論理和 (OR) | 1 > 0 Or 0 <= 1 | True |
0 > 1 Or 1 <= 0 | False | ||
Not | 論理否定 (NOT) | Not 0 > 1 | True |
Not 1 > 0 | False |
また、VBAとGoogle Apps Scriptでは、論理積の「And」(VBA)と「&&」(GAS)や、論理和の「Or」(VBA)と「||」(GAS)や、論理否定の「Not」(VBA)と「!」(GAS)、など全て違いますので、両方覚えていく際には使い方の切り替えが必要です。
・演算子確認のためのサンプルコード
以下のコードを実行すると、それぞれの演算子に対して返ってくる値が分かります。
※サンプルの画像はエクセル上に入力したため「TRUE」「FALSE」となっていますが、データ上は「True」「False」です。
・比較演算子
Sub 比較演算子() Cells(2, 2).Value = 1 = 1 ‘True End Sub |
・論理演算子
Sub 論理演算子() Cells(2, 2).Value = 1 > 0 And 0 <= 1 ‘True End Sub |