演算子とは?

プログラム内で行う計算のことを演算と呼びます。

演算には、私たちが使用している四則演算の他に、値同士を比較する演算など、様々なものがあります。

ここでは、以下の演算子について説明します。



算術演算子

もっともよく使用する演算子が、算術演算子です。

算術演算子は、足し算や掛け算などの計算をするために使用します。

代表的な算術演算子を以下に示します。

代表的なデータ型
演算子 説明
^ べき乗
* 乗算(掛け算)
/ 除算(商を小数部まで計算)
¥ 除算(商の整数部を求める)
Mod 剰余(余りを求める)
+ 加算
- 減算

算術演算子の使用例を以下に示します。

  Option Explicit

Sub 算術演算子の例()

  Dim x1 As Integer
  Dim x2 As Integer
  Dim x3 As Integer
  Dim x4 As Integer
  Dim x5 As Integer
  Dim x6 As Integer
  Dim x7 As Integer
  Dim x8 As Integer
  
  x1 = 2 ^ 3    ' 2の3乗
  x2 = 2 * 3    ' 2 x 3
  x3 = 6 / 3    ' 6÷3
  x4 = 7 \ 2    ' 7÷2の商
  x5 = 7 Mod 4  '7÷4の余り
  x6 = 5 + 2    ' 5 + 2
  x7 = 5 - 2    ' 5 - 2
  
End Sub
      


算術演算子は組み合わせて使用することができます。

演算子は以下表のように優先順位があります。複数の演算子を組み合わせる場合は、この優先順位で計算されます。

優先順位を変える場合は()を使用します。()がある場合は、()の中を最初に計算して、次に残りを計算します。

算術演算子の優先順位
優先順位 演算子
^
: +, /, ¥, Mod
+、-
    Option Explicit

Sub 算術演算子の優先順位()

  Dim x1 As Integer
  Dim x2 As Integer

  
  x1 = 1 + 2 ^ 3 - 4 * 5    '2^3を最初に計算
  x2 = (1 + 2) ^ 3 - 4 * 5  '1+2を最初に計算

  
End Sub
  


比較演算子

値同士を比較したい場合は、比較演算子を使用します。

比較演算子を使用した式が成り立つ場合はTRUEという値を、成り立たない場合はFALSEという値を返します。

この TRUE や FALSE という値は、Boolean型です。

比較演算子
比較演算子 説明
= 左辺と右辺が等しいか
<> 左辺と右辺が異なるか
> 左辺が右辺より大きいか
>= 左辺が右辺以上か
< 左辺が右辺より小さいか
<= 左辺が右辺以下か

比較演算子の使用例を以下に示します。

          Option Explicit
        
Sub 比較演算子の例()

  Dim x1 As Boolean
  Dim x2 As Boolean
  Dim x3 As Boolean
  Dim x4 As Boolean
  Dim x5 As Boolean
  Dim x6 As Boolean
  
  x1 = 1 = 3    ' FALSE
  x2 = 1 <> 2   ' TRUE
  x3 = 3 > 2    ' TRUE
  x4 = 3 >= 3   ' TRUE
  x5 = 3 < 3    ' FALSE
  x6 = 3 <= 3   ' TRUE
  
End Sub
              
        


Like演算子

Like演算子を使用すると、文字列と文字列をパターンで比較することができます。

以下に、Like演算子を示します。

Like演算子
Like演算子 説明
? 任意の1文字
* 0個以上の文字
# 任意の1桁
[charlist] charlistに含まれる全角または半角の文字
[!charlist] charlistに含まれない全角または半角の文字
  Option Explicit

Sub Like演算子()
  Dim x As Boolean

  x = "abc" Like "a?c"           '最初がa、最後がcの3文字か?
  Debug.Print x  'True

  x = "たかはし" Like "たか*"    '「たか」ではじまる文字列か?
  Debug.Print x  'True

  x = 123 Like "###"             '3桁の数字か?
  Debug.Print x  'True

  x = "Cream" Like "[A-C]*"       'AからCの文字で始まるか?
  Debug.Print x  'True

  x = "Debut" Like "[!A-C]*"      'A~C以外の文字で始まるか?
  Debug.Print x  'True

End Sub
  


論理演算子

論理演算を行う場合は、論理演算子を使用します。

以下に論理演算子を示します。

論理演算子
論理演算子 説明 使用例 結果
And 論理積 False And False
True And False
False And True
True And True
True
False
False
True
Or 論理和 False Or False
True Or False
False Or True
True Or True
False
True
True
True
Xor 排他的論理和 False Xor False
True Xor False
False Xor True
True Xor True
False
True
True
False
Not 否定 Not True
Not False
False
True