IFステートメント
IFステートメントは、条件式の結果(True/False)によって処理を分岐します。
IFステートメントのイメージは以下の図の通りです。
条件式がTrueの場合は、処理Aを実行し、条件式がFalseの場合は処理をせず終了します。※Falseの場合に別の処理をさ実行するように書くこともできます。
IFステートメントの書式
IFステートメントの4つの書式を紹介します。
1.Trueの場合のみ処理を実行する 1文で記述するパターン
Trueの場合のみ(条件式の条件を満たしている場合のみ)処理を実行する書き方として、以下のように1文で記述する方法があります。Falseの場合は、何もしません。
If 条件式 Then 処理
サンプル
セルC3がAJIの場合に、セルE3にセルD3の値に0.55を掛けた数値を代入します。
2.Trueの場合のみ処理を実行する
Trueの場合のみ(条件式の条件を満たしている場合のみ)処理を実行する書き方です。上述の「1」と全く同じ動作をします。Trueの場合に実行する処理が複数ある場合に使いやすいです。
If 条件式 Then
処理
End If
サンプル
セルC3がAJIの場合にセルE3にセルD3の値に0.55を掛けた値を代入します。
3.TrueとFalseで異なる処理を実行する
条件式を満たしている場合(Trueの場合)は処理Aを、条件式を満たしていない場合は処理Bを実行する書き方です。
If 条件式 Then
処理A
Else
処理B
End If
サンプル
セルC3がAAAの場合は、セルE3にセルD3の値に0.45を掛けた値を代入します。
セルC3がAAAでない場合は、セルE3にセルD3の値に0.55を掛けた値を代入します。
4.条件の結果に応じて異なる処理を実行する
複数の条件によって、処理を分岐させる記述方法になります。
※複数の条件ごとに処理を分岐させる場合は、Select Caseステートメントで記述したほうが可読性が良いことがあるので、Select Case文での記述も考えるといいでしょう。
If 条件式1 Then
処理1
ElseIf 条件式2 Then
処理2
End If
サンプル
セルD3が100未満の場合にセルE3に文字列「C」を代入します。
セルD3が100以上200未満の場合にセルE2に文字列「B」を代入します。
If 条件式1 Then
処理1
ElseIf 条件式2 Then
処理2
Else
処理3
End If
※条件1、条件2にもあてはまらないときに処理3を実行します。
サンプル
セルD3が100未満の場合、セルE3に文字列「C」を代入します。
セルD3が100以上200未満の場合、セルE3に文字列「B」を代入します。
上の2つの条件にあてはまらないときにセルE3に文字列「A」を代入します。