カテゴリ: VB.NET 更新日: 2025/11/02

VB.NETのIf-ElseIf-Else構文を徹底解説!初心者でもわかる複数条件の使い方

VB.NETのIf-ElseIf-Else構文で複数条件を扱う方法
VB.NETのIf-ElseIf-Else構文で複数条件を扱う方法

先生と生徒の会話形式で理解しよう

生徒

「先生、VB.NETで条件がいくつもある場合ってどうすればいいですか?」

先生

「とても良い質問ですね。そんなときはIf-ElseIf-Else構文を使うと便利です。」

生徒

「If文だけじゃ足りないんですか?」

先生

「そうなんです。条件が一つだけならIf文でいいですが、条件が複数になるとElseIfElseを組み合わせて使います。今日はそれをわかりやすく学びましょう。」

1. If-ElseIf-Else構文とは?

1. If-ElseIf-Else構文とは?
1. If-ElseIf-Else構文とは?

VB.NETのIf-ElseIf-Else構文は、条件を複数チェックして、それぞれに応じた処理を実行するための分岐構造です。たとえば、テストの点数によって「合格」「再試験」「不合格」といったメッセージを出したいときなどに使われます。

プログラムでは、最初のIf条件が真(True)かどうかを判断します。真であればそのブロック内の処理を実行し、それ以降の条件はスキップされます。偽(False)の場合は次のElseIfに進みます。すべての条件が偽の場合、最後のElse部分が実行されます。

2. 基本的なIf-ElseIf-Else構文の書き方

2. 基本的なIf-ElseIf-Else構文の書き方
2. 基本的なIf-ElseIf-Else構文の書き方

まずは構文の形を見てみましょう。


If 条件1 Then
    ' 条件1がTrueのときの処理
ElseIf 条件2 Then
    ' 条件2がTrueのときの処理
Else
    ' どの条件にも当てはまらないときの処理
End If

とてもシンプルですよね。では、実際に使ってみましょう。

3. 具体的な例:テストの点数で判定する

3. 具体的な例:テストの点数で判定する
3. 具体的な例:テストの点数で判定する

例えば、生徒のテスト点数によって判定を出すプログラムを作りたいとします。点数が80点以上なら「合格」、50点以上80点未満なら「再試験」、それ以下なら「不合格」と表示するようにしましょう。


Dim score As Integer = 72

If score >= 80 Then
    Console.WriteLine("合格です!")
ElseIf score >= 50 Then
    Console.WriteLine("再試験です。もう少し頑張りましょう。")
Else
    Console.WriteLine("不合格です。次はきっと大丈夫!")
End If

再試験です。もう少し頑張りましょう。

このように、上から順番に条件を評価していき、最初にTrueになった部分だけが実行されます。残りの条件はスキップされる点が重要です。

4. ElseIfを使うときの注意点

4. ElseIfを使うときの注意点
4. ElseIfを使うときの注意点

ElseIfをいくつも書くことができますが、処理の順番には注意が必要です。上の条件が広すぎると、下の条件が無視されてしまうことがあります。

たとえば次のように書くと、100点の人でも「再試験」と表示されてしまうミスが起こるかもしれません。


Dim score As Integer = 100

If score >= 50 Then
    Console.WriteLine("再試験です。")
ElseIf score >= 80 Then
    Console.WriteLine("合格です!")
End If

再試験です。

これは「score >= 50」の条件が最初に真(True)になったため、後のElseIfには進まなかったのです。条件は「より厳しいものから順に」書くのがポイントです。

5. Elseを使ってすべての条件に当てはまらない場合をカバー

5. Elseを使ってすべての条件に当てはまらない場合をカバー
5. Elseを使ってすべての条件に当てはまらない場合をカバー

もし、どのIfElseIfにも当てはまらない場合に備えて、Elseを最後に書いておくと安心です。これがあると、予想外のデータが来た場合でもプログラムが止まらず、メッセージを表示できます。


Dim age As Integer = 150

If age < 13 Then
    Console.WriteLine("子どもです。")
ElseIf age < 20 Then
    Console.WriteLine("未成年です。")
ElseIf age <= 120 Then
    Console.WriteLine("大人です。")
Else
    Console.WriteLine("入力された年齢が正しくありません。")
End If

入力された年齢が正しくありません。

このようにElseを使うと、どの条件にも当てはまらないデータにも対応でき、より安全なプログラムになります。

6. If-ElseIf-Else構文の使いどころ

6. If-ElseIf-Else構文の使いどころ
6. If-ElseIf-Else構文の使いどころ

この構文は、たとえば以下のような場面でよく使われます。

  • ユーザーの入力値に応じて処理を変えたいとき
  • ゲームの得点やレベルでメッセージを変えるとき
  • 天気や時間によって動作を分けるとき

もし「朝ならおはよう」「昼ならこんにちは」「夜ならこんばんは」といったメッセージを出したいときも、If-ElseIf-Elseを使えば簡単に実現できます。


Dim hour As Integer = 19

If hour < 12 Then
    Console.WriteLine("おはようございます!")
ElseIf hour < 18 Then
    Console.WriteLine("こんにちは!")
Else
    Console.WriteLine("こんばんは!")
End If

こんばんは!

このように、If-ElseIf-Elseを使えば、プログラムに「判断力」を持たせることができます。

7. 条件分岐のコツとポイント

7. 条件分岐のコツとポイント
7. 条件分岐のコツとポイント

複数条件を扱うときに覚えておくと便利なポイントを紹介します。

  • 条件は上から順番に評価される
  • 最初にTrueになった部分で処理が止まる
  • 条件は範囲が狭いものを上に書く
  • どの条件にも当てはまらないときのためにElseを使う

このルールを意識することで、バグの少ない読みやすいプログラムを書けるようになります。

カテゴリの一覧へ
新着記事
New1
VB.NET
VB.NETの例外処理とUsingステートメントを徹底解説!エラーに強いプログラム作り
New2
ASP.NET
ASP.NET WebFormsカスタムコントロール作成ガイド!自作部品で開発を効率化
New3
VB.NET
VB.NETでStaticメソッドを定義する方法と活用例
New4
ASP.NET
ASP.NET WebFormsでユーザー認証を実装する方法!ログイン機能の基本
人気記事
No.1
Java&Spring記事人気No1
VB.NET
VB.NETの配列(Array)の作り方と基本操作を徹底解説!初心者でもわかる入門ガイド
No.2
Java&Spring記事人気No2
VB.NET
VB.NETのBoolean型(True/False)の使い方と条件分岐での活用方法を徹底解説!初心者でも理解できる基本
No.3
Java&Spring記事人気No3
VB.NET
VB.NETのIf文の使い方と条件分岐を完全ガイド!初心者でもわかる基本構文と実例
No.4
Java&Spring記事人気No4
VB.NET
VB.NETプログラムの実行方法まとめ!Visual Studio・コマンドラインの使い方
No.5
Java&Spring記事人気No5
ASP.NET
ASP.NET MVCでビュー(Razor)を使った画面表示の基本を初心者向けに解説
No.6
Java&Spring記事人気No6
VB.NET
VB.NETのコンストラクタと初期化処理の書き方を初心者向けに解説
No.7
Java&Spring記事人気No7
ASP.NET
ASP.NET WebFormsのGridViewでデータ表示を完全マスター!初心者向けガイド
No.8
Java&Spring記事人気No8
VB.NET
VB.NETで例外メッセージを取得してログに残す方法を完全解説!初心者向け例外処理入門