Excel VBA | 定数を定義

Excel VBA VBA
スポンサーリンク

Excel VBA 演算子 練習問題集(解答付き)

ここでは、「Excel VBAの演算子」をしっかり理解できるように、
レベル別(初級~中級)で「練習問題+解答例+解説」をまとめました。


初級編:基本的な計算を覚えよう

問題1:四則演算の結果を出してみよう

次のコードを実行したとき、セルA1~A4にはそれぞれどんな数値が入るでしょう?

Sub 練習1()
    Dim x As Integer, y As Integer
    x = 8
    y = 3

    Range("A1").Value = x + y
    Range("A2").Value = x - y
    Range("A3").Value = x * y
    Range("A4").Value = x / y
End Sub
VB

解答:

セル結果説明
A111足し算(8 + 3)
A25引き算(8 – 3)
A324掛け算(8 * 3)
A42.666666…割り算(8 / 3 は小数)

💡 ポイント: / は小数で計算されます。


問題2:整数除算と余りを求めよう

Sub 練習2()
    Dim x As Integer
    x = 17

    Range("A1").Value = x \ 5
    Range("A2").Value = x Mod 5
End Sub
VB

解答:

セル結果説明
A13商(17 ÷ 5 の整数部分)
A22余り(17 ÷ 5 のあまり)

💡 ポイント:
\ → 整数除算、Mod → 余り。
17 ÷ 5 = 3 余り 2 だからこの結果。


問題3:べき乗を使ってみよう

Sub 練習3()
    Range("A1").Value = 2 ^ 3
    Range("A2").Value = 5 ^ 2
End Sub

解答:

セル結果説明
A182×2×2
A2255×5

中級編:比較と論理を組み合わせる

問題4:比較演算の結果

Sub 練習4()
    Dim a As Integer, b As Integer
    a = 10
    b = 8

    Range("A1").Value = a > b
    Range("A2").Value = a = b
    Range("A3").Value = a <> b
End Sub
VB

解答:

セル結果説明
A1True10 > 8 は真
A2False10 = 8 は偽
A3True10 ≠ 8 は真

💡 ポイント:
True/False は VBA 上では論理値。セルに書くと「TRUE」「FALSE」と表示されます。


問題5:And / Or の動き

Sub 練習5()
    Dim x As Integer
    x = 7

    Range("A1").Value = (x > 5) And (x < 10)
    Range("A2").Value = (x < 5) Or (x = 7)
    Range("A3").Value = Not (x = 7)
End Sub
VB

解答:

セル結果説明
A1True両方 True(6~9の間)
A2True片方 True(x=7)
A3False「x=7」がTrueなので Not で反転

💡 ポイント:

  • And → 両方がTrueならTrue
  • Or → どちらかがTrueならTrue
  • Not → True/Falseを反転

問題6:条件を組み合わせて判定

Sub 練習6()
    Dim age As Integer, score As Integer
    age = 16
    score = 82

    If age >= 15 And score >= 80 Then
        Range("A1").Value = "合格"
    Else
        Range("A1").Value = "不合格"
    End If
End Sub
VB

解答:

  • 結果:セルA1に「合格」と表示される
    💡 理由:両方の条件(年齢15以上、点数80以上)がTrue。
    どちらかがFalseなら「不合格」。

問題7:少し応用(Modで偶数/奇数)

Sub 練習7()
    Dim i As Integer
    i = 13

    If i Mod 2 = 0 Then
        Range("A1").Value = "偶数"
    Else
        Range("A1").Value = "奇数"
    End If
End Sub
VB

解答:

  • 13 Mod 2 = 1 → 余りが1 → 奇数
  • 結果:「奇数」と表示される。

💡 応用:
If i Mod 2 = 0 なら偶数、If i Mod 2 <> 0 なら奇数。


上級チャレンジ:条件を複雑に組み合わせる

問題8:複数の条件で成績判定

Sub 練習8()
    Dim score As Integer
    score = 73

    If score >= 80 Then
        Range("A1").Value = "優"
    ElseIf score >= 60 Then
        Range("A1").Value = "良"
    ElseIf score >= 40 Then
        Range("A1").Value = "可"
    Else
        Range("A1").Value = "不可"
    End If
End Sub
VB

解答:

  • 結果:「良」
    💡 理由:
    score=73 → 80未満、60以上の条件に当てはまる。

問題9:複数条件の入れ子(And+Or)

Sub 練習9()
    Dim temp As Double, rain As Boolean
    temp = 31
    rain = True

    If (temp >= 30 And Not rain) Or (temp >= 25 And rain) Then
        Range("A1").Value = "蒸し暑い日"
    Else
        Range("A1").Value = "普通の日"
    End If
End Sub
VB

解答:

  • 結果:「蒸し暑い日」
    💡 理由:
    • temp=31 → 30以上
    • rain=True → Not rain は False
    • しかし (temp >= 25 And rain) が True なので全体は True。

問題10:演算の順序を理解する

Sub 練習10()
    Range("A1").Value = 5 + 3 * 2
    Range("A2").Value = (5 + 3) * 2
End Sub
VB

解答:

セル結果説明
A111掛け算が先:5 + (3*2)
A216()が先:(5+3)*2

💡 ポイント:
掛け算・割り算が優先されます。複雑な式は () で囲みましょう。


まとめ

分類よく使う演算子覚え方のコツ
算術+ - * / \ Mod ^数の計算に使う
比較< <= > >= = <>True/Falseを返す
論理And Or Not条件をつなぐ
VBA
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました