Excel VBA 演算子の完全学習ノート
ではこのまま「Excel VBA 演算子の完全学習ノート」として、
初心者~中級者がしっかり理解できるように、
以下のような構成で仕上げていきます。
第1章:演算子とは?
「演算子(operator)」とは、
値を計算したり、比較したり、条件を組み合わせたりするための“記号”や“キーワード” です。
たとえば:
x = 5 + 3 ' ← + は「足し算をする」演算子
If x > 5 Then ... ' ← > は「より大きいか」を比べる演算子
VBVBAでよく使う演算子は大きく3種類に分かれます:
| 種類 | 主な役割 | 例 |
|---|---|---|
| 算術演算子 | 数の計算をする | + - * / \ Mod ^ |
| 比較演算子 | 値を比べて True/False を返す | < <= > >= = <> |
| 論理演算子 | 条件をつなげたり反転したりする | And Or Not |
第2章:算術演算子 — 数をあやつる力
よく使う演算子と意味
| 演算子 | 意味 | 例 | 結果 |
|---|---|---|---|
+ | 足し算 | 8 + 5 | 13 |
- | 引き算 | 10 - 4 | 6 |
* | 掛け算 | 3 * 5 | 15 |
/ | 割り算(小数も含む) | 8 / 5 | 1.6 |
\ | 整数除算(小数切り捨て) | 8 \ 5 | 1 |
Mod | 余りを求める | 8 Mod 5 | 3 |
^ | べき乗 | 6 ^ 2 | 36 |
例:いろんな計算をしてみよう
Sub 算術の例()
Dim a As Double, b As Double
a = 8
b = 5
Range("A1").Value = a + b
Range("A2").Value = a - b
Range("A3").Value = a * b
Range("A4").Value = a / b
Range("A5").Value = a \ b
Range("A6").Value = a Mod b
Range("A7").Value = a ^ b
End Sub
VB| セル | 結果 | 説明 |
|---|---|---|
| A1 | 13 | 足し算 |
| A2 | 3 | 引き算 |
| A3 | 40 | 掛け算 |
| A4 | 1.6 | 通常の割り算 |
| A5 | 1 | 整数除算(商) |
| A6 | 3 | 余り |
| A7 | 32768 | 8の5乗(8×8×8×8×8) |
補足:データ型に注意!
整数除算(\)や Mod を使うときは、変数の型が重要です。
例:
Dim a As Integer
a = 8 / 5 ' → 1 ではなく、1.6 → 小数点以下切り捨てで1になる
VB結果が小数になると、自動的に型変換されます。
小数を扱うなら Double 型にしましょう。
第3章:比較演算子 — 値を比べて判断する
比較演算子の一覧
| 演算子 | 意味 | 例 | 結果 |
|---|---|---|---|
< | より小さい | 3 < 5 | True |
<= | 以下 | 5 <= 5 | True |
> | より大きい | 8 > 3 | True |
>= | 以上 | 8 >= 9 | False |
= | 等しい | 5 = 5 | True |
<> | 等しくない | 5 <> 5 | False |
例:比較結果を確認しよう
Sub 比較の例()
Dim x As Integer
x = 10
Range("B1").Value = (x > 5)
Range("B2").Value = (x = 8)
Range("B3").Value = (x <> 8)
End Sub
| セル | 結果 | 説明 |
|---|---|---|
| B1 | True | 10 は 5 より大きい |
| B2 | False | 10 は 8 ではない |
| B3 | True | 10 ≠ 8 |
💡 ポイント:
比較結果は 論理値(True / False) になります。
これをそのまま If 文などに使えます。
第4章:論理演算子 — 条件を組み合わせる
主な論理演算子
| 演算子 | 意味 | 例 | 結果 |
|---|---|---|---|
And | 両方がTrueならTrue | True And False | False |
Or | どちらかTrueならTrue | True Or False | True |
Not | 真偽を反転 | Not True | False |
例:複数条件を組み合わせてみよう
Sub 論理の例()
Dim score As Integer
score = 75
If score >= 60 And score < 80 Then
Range("C1").Value = "合格(普通)"
End If
If score >= 80 Or score < 50 Then
Range("C2").Value = "特別条件に該当"
End If
Range("C3").Value = Not (score < 80)
End Sub
VB| セル | 結果 | 説明 |
|---|---|---|
| C1 | 合格(普通) | 60~79点の範囲 |
| C2 | (空欄) | 条件に当てはまらない |
| C3 | False | score < 80 → True → Notで反転 |
第5章:優先順位とカッコの使い方
演算子には計算される順番(優先順位)があります。
| 優先度 | グループ | 例 |
|---|---|---|
| 1 | 括弧 () | (a + b) * c |
| 2 | べき乗 ^ | 2 ^ 3 |
| 3 | 乗除算 * / \ Mod | a * b / c |
| 4 | 加減算 + - | a + b - c |
| 5 | 比較演算子 | a > b |
| 6 | 論理演算子 Not, And, Or | (a > b) And (c < d) |
💡 つまり:
- 掛け算・割り算が足し算より先に計算される。
- 比較や論理演算は後で評価される。
- わかりにくいときは必ず括弧で囲む!
例:
Sub 優先順位例()
Range("D1").Value = 5 + 3 * 2 ' → 11
Range("D2").Value = (5 + 3) * 2 ' → 16
Range("D3").Value = (5 + 3) > 10 And 2 < 3 ' → False
End Sub
VB第6章:よくある間違い・注意点
| パターン | よくある誤り | 正しい書き方・考え方 |
|---|---|---|
| 型の不一致 | Integer で / を使う | 結果が小数になる → Double型に変更 |
| 条件の抜け | If x > 5 And < 10 | If x > 5 And x < 10 |
| 比較の混乱 | = は代入と比較で意味が違う | 代入は x = 5、比較は (x = 5) |
| 優先順位の誤解 | 5 + 3 * 2 が 16と思う | 正しくは 11(掛け算が先) |
第7章:練習問題まとめ
| No | 内容 | ねらい |
|---|---|---|
| 1 | 四則演算の基本 | 計算式を確認 |
| 2 | 整数除算と余り | \ と Mod の使い方 |
| 3 | 比較演算 | True / False の結果を理解 |
| 4 | And / Or / Not | 条件の組み合わせ |
| 5 | 優先順位 | () を使う理由を理解 |
| 6 | 成績判定プログラム | 実用的な条件式の組み合わせ |
第8章:ミニチャレンジ(まとめテスト)
1️⃣ Dim n As Integer: n = 15
→ n \ 4 と n Mod 4 の結果は?
→ 商 = 3、余り = 3
2️⃣ Dim a As Integer: a = 8If a > 5 And a < 10 Then ... の結果は?
→ True
3️⃣ Not (3 > 1 Or 5 < 2) の結果は?
→ False(中の式はTrue、Notで反転)
4️⃣ 2 ^ 3 * 2 と (2 ^ 3) * 2 は同じ?
→ 同じ結果(16)
最後に:演算子マスターのコツ
✅ 「結果をセルに出力」して確かめながら覚える。
✅ 複雑な式は常に () で囲む。
✅ 条件文は「日本語で読む」:
例 → If x >= 60 And x < 80 Then は「60以上かつ80未満なら」。
✅ Mod と \ を使いこなすと、日付処理やグループ判定にも応用できる。
🧩 次の発展テーマ(続編候補)
- 第9章:文字列演算子(
&の使い方) - 第10章:型変換と演算(
CInt,CDbl,CLng) - 第11章:エラーを防ぐための演算チェック (
IsNumeric,IsEmpty)

