関数・メソッド

If文を一行にできる関数【IIf関数】【ExcelVBA】

IIf関数

TureかFalseを評価する簡単な条件式であれば、If文やSelect Case文と同じように扱えます。
コードをまとめ、より簡潔に記述したい場合に使用してください。

構文

IIf(exprtruepartfalsepart)

expr評価する式。必須です。
truepartexpr が True の場合に返される値または式。必須です。
falsepartexpr が False の場合に返される値または式。必須です。

 

IIf関数、If文、Select Case文の比較

Public Sub Sample()
    Dim num As Long, str As String
    num = InputBox("数値を入力してください")

    '■IIf関数を用いた場合
    str = IIf(num > 500, "大きい", "小さい")
    MsgBox str

    '■If文の場合
    If num > 500 Then
        MsgBox "大きい"
    Else
        MsgBox "小さい"
    End If

    '■Select Caseの場合
    Select Case num
        Case num > 500
            MsgBox "大きい"
        Case Else
            MsgBox "小さい"
    End Select
End Sub

注意点

  • IIf関数はIf文やSelectCase文に比べ処理速度が遅くなります。
  • TrueのときでもFalseまで(FalseのときでもTrueまで)全て計算されます。

関連記事

コメント

タイトルとURLをコピーしました