A子さん「条件分岐ってIf文だけじゃダメなの?
Select Caseっていつ使えばいいのか、よくわかんない……」



そんな悩みを抱える方へ。
この記事では、IfとSelect Caseの違いと使い分けのポイントをわかりやすく解説します!
結論:シンプルならIf、条件が多いならSelect Case!
1~2個程度の単純な条件 → If
3つ以上の明確な分岐がある → Select Case
数値の範囲や文字列の一致で分岐 → Select Caseが見やすい!
目次
If文とSelect Caseの違いをざっくり比較
| 比較項目 | If文 | Select Case |
|---|---|---|
| 分岐の数 | 少数(1~2個)向き | 多数(3つ以上)向き |
| 範囲や大小比較 | 得意 | 対応可能(Isを使う) |
| 可読性 | ネストが深くなると読みにくい | 分岐ごとにスッキリ書ける |
| 文字列の条件分岐 | 可能 | 可能(複数条件も見やすい) |
If文が向いているケースとは?
条件が1~2個程度で単純
**比較演算(<, >, =)**を使いたい場合
複数の変数や複雑な論理(AND/OR)を含む場合
If score >= 60 Then
MsgBox "合格"
Else
MsgBox "不合格"
End If
Select Caseが向いているケースとは?
1つの変数に対する複数の明確な条件がある
数値の範囲で分けたい
特定の文字列に応じた処理をしたい
Select Case score
Case 100
MsgBox "満点!"
Case 80 To 99
MsgBox "よくできました"
Case Else
MsgBox "がんばりましょう"
End Select
実際のコードで比較してみよう
If文の例(読みづらい)
If status = "完了" Then
MsgBox "処理済みです"
ElseIf status = "未完了" Then
MsgBox "対応が必要です"
ElseIf status = "保留" Then
MsgBox "確認中です"
Else
MsgBox "不明な状態です"
End If
Select Caseの例(読みやすい)
Select Case status
Case "完了"
MsgBox "処理済みです"
Case "未完了"
MsgBox "対応が必要です"
Case "保留"
MsgBox "確認中です"
Case Else
MsgBox "不明な状態です"
End Select
使い分けフローチャート
条件は1つ?
└─ はい ── 条件数は少ない? ── はい → If文
└─ いいえ → Select Case
条件に複雑なAND/ORがある?
└─ はい → If文
└─ いいえ → Select Case
まとめ
If文は柔軟性が高く、複雑な条件に対応しやすい
Select Caseはスッキリ書けて読みやすい
使い分けのコツは“分岐の数と内容”に注目!

コメント