Excel VBA の「演算子」を、初心者でも分かるように丁寧に説明したものです。
演算子って何?(ざっくり)
演算子は「値に何かするための記号」です。
例:+ は足し算、= は比較(等しいかどうか)…みたいなもの。演算子を組み合わせて計算したり、条件を判断したりします。
1. 算術演算子(数の計算)
主なもの:
+:足し算(例5 + 3→8)-:引き算(例5 - 3→2)*:掛け算(例5 * 3→15)/:割り算(浮動小数点で割る。例5 / 2→2.5)\:整数除算(商だけ。小数を切り捨て。例5 \ 2→2)Mod:剰余(余り。例5 Mod 2→1)^:べき乗(例5 ^ 2→25)。
ポイント(初心者向け)
/は小数も返します。整数型の変数に代入すると自動的に切り捨てや型変換が起きるので注意。\は「整数の商だけ欲しい」場合に使います(例:ページ割り算など)。Modは「余り」を取るとき。例えば偶数判定はn Mod 2 = 0でできます。
例題 1(コードと説明)
Sub 算術例()
Dim a As Double, b As Double
a = 7
b = 2
Range("A1").Value = a + b ' 9
Range("A2").Value = a / b ' 3.5
Range("A3").Value = a \ b ' 3 <-- 整数除算(小数切捨て)
Range("A4").Value = a Mod b ' 1 <-- 余り
Range("A5").Value = a ^ b ' 49 <-- べき乗
End Sub
VB解説:A2 は正確な割り算、A3 は整数の商だけ。用途に応じて選びます。
2. 比較演算子(値を比べる)
比較は必ず True / False を返します。よく使うもの:
<(未満)、<=(以下)、>(より大きい)、>=(以上)=(等しい)、<>(等しくない)。
例題 2(If で使う)
Sub 比較例()
Dim x As Integer
x = 10
If x >= 5 Then
Range("B1").Value = "5 以上です"
Else
Range("B1").Value = "5 未満です"
End If
Range("B2").Value = (x = 10) ' True が入る
End Sub
VB解説:If 文の条件式にそのまま比較を使います。比較結果はブール(True/False)になります。
3. 論理演算子(複数条件を組み合わせる)
条件をつなげる演算子:
And:両方が True のときだけ True(論理積)Or:どちらかが True なら True(論理和)Not:True ↔ False を反転(否定)。
例題 3(複合条件)
Sub 論理例()
Dim score As Integer
score = 75
If score >= 60 And score < 80 Then
Range("C1").Value = "合格(普通)"
End If
If Not score >= 80 Then
Range("C2").Value = "80点未満です"
End If
End Sub
VB解説:And で範囲を作ったり、Not で否定を表現したりできます。
よくある初心者のつまずき(Q&A風)
- Q
5 / 2と5 \ 2の違いは? - A
/は 2.5 を返す(小数扱い)。\は整数の商(2)だけを返す。切り捨てになるので注意。
- Q
Modで負の数はどうなるの? - A
VBA の
Modは被除数の符号に従います(実際の挙動は仕様に依存するため、実験して確認するのがおすすめ)。
- Q比較の優先順位は?
- A
算術演算(
+ - * /等)が先で、その後に比較、最後に論理演算が評価されるのが一般的です。複雑な式は()で明示的にグループ化すると分かりやすくて安全です。
少し踏み込んだ注意点
- 型に注意:整数型(
Integer)に大きな値を入れるとオーバーフローします。計算結果の型を想定してLongやDoubleを使いましょう。 - 演算順序:複雑な式は
()を使って明確に。例:If (a + b) > c And d = 1 Thenのように。 - 文字列の比較:文字列同士の
=比較は文字列の内容で比較しますが、大文字小文字の差や空白に注意。必要ならUCase/LCaseで正規化してから比較する。
(これらは実践的な注意点で、元ページの基本説明を補完する内容です。)
練習問題
a = 9, b = 4のとき、a \ bとa / bとa Mod bはそれぞれいくつ?- 答え:
a \ b = 2、a / b = 2.25、a Mod b = 1。
- 答え:
score = 82のとき、score >= 80 And score < 90の結果は?(True/False)- 答え:
True。
- 答え:
まとめ
- 演算子は「計算」や「比較」「条件の組み合わせ」に使う。
- 基本を押さえ、型と演算の順番に注意すれば実用的な処理が書けます。まずは上のサンプルをコピペして動かしてみてください!

