VBA関数
IIf関数

Excelマクロで必須のVBA関数を入門・初級・初心者向けに詳細解説
最終更新日:2013-06-14

IIf関数


IIf関数は、式の評価結果によって、2つの引数のうち1つを返します。


IIf関数

IIf(expr, truepart, falsepart)

expr
必ず指定します。
評価対象の式を指定します。

truepart
必ず指定します。
名前付き引数 expr が真 (True) の場合に返す値または式を指定します。

falsepart
必ず指定します。
名前付き引数 expr が偽 (False) の場合に返す値または式を指定します。

注意

IIf 関数では、 truepart またはfalsepart のいずれか一方だけが返されますが、評価は両方の引数に対して行われます。
このため、IIf 関数を使うと、予期しない結果が起きることがあります。
たとえば、名前付き引数 falsepart を評価した結果 0 による除算エラーが発生する場合は、名前付き引数 expr が真 (True) であってもエラーが発生します。

この問題がある限り、あまり使うべきではありません。
IIf関数は、Ifステートメントで書き直すことが出来ます。
If expr Then
  truepart
Else
  falsepart

End If

使用例.

Dim foo, bar
foo = 50
bar = 100
MsgBox IIf(foo > 0, bar / foo, foo / bar) ・・・ 2
foo = 100
bar = 50
MsgBox IIf(foo > 0, bar / foo, foo / bar) ・・・ 0.5
foo = 100
bar = 0
MsgBox IIf(foo > 0, bar / foo, foo / bar) ・・・ 「0で除算しました」のエラー、常に真偽両方の引数が評価されます。

※VBA関数一覧

VBA関数の一覧と解説です、どんな関数があるかは一度は確認しておくとをお勧めいたします。どんな関数があるだけでも知っておけば、詳細の使い方は実際に使うときに調べても良いでしょう。文字列操作…34 分岐…3 型変換…14 データ判定…10 日付時刻…20 配列…6 ファイル操作…14 数学/財務…28 その他…18 MicrosoftDocsOfficeV…



同じテーマ「VBA関数」の記事

Trim関数

Trim関数は、指定した文字列から先頭と末尾の両方のスペースを削除した文字列を表す値を返します、バリアント型(内部処理形式StringのVariant)の値を返します。Trim関数 Trim(string) string 任意の文字列式を指定します。
UCase関数
UCase関数は、アルファベットの小文字を大文字に変換する文字列処理関数です。UCase関数 UCase(string) charcode 任意の文字列式を指定します。この引数は必ず指定します。stringにNull値が含まれている場合、Null値を返します。
Val関数
Val関数は、指定した文字列に含まれる数値を適切なデータ型に変換して返します。Val関数 Val(string) string 任意の文字列式を指定します。この引数は必ず指定します。文字列中に数字以外の文字が見つかると、Val関数は読み込みを中止します。
IIf関数
Choose関数
引数Indexの値に基づいて、引数リストから値を返します。Choose関数 Choose(index,choice-1,[choice-2,...,[choice-n]]) index 必ず指定します。1から選択肢の数までの値になる数式またはフィールドです。
Switch関数
式の一覧を評価し、その一覧で、Trueが指定されている最初の式に関連付けられている値または式を返します。Switch関数 Switch(expr-1,value-1,[expr-2,value-2…,[expr-n,value-n]]) expr-n 評価するバリアント型(Variant)の式を指定します。
CBool関数
CBool関数は、引数をBoolean型(True,False)に変換します、式がゼロの値に評価される場合Falseを返し、それ以外の場合はTrueを返します。CBool関数 CBool(expression) 引数expressionには任意の文字列式または数式を指定します。
CByte関数
CByte関数は、引数をByte型(0~255)に変換します。CByte関数 CByte(expression) 引数expressionには任意の文字列式または数式を指定します。この引数は必ず指定します。
CCur関数
CCur関数は、引数をCurrency型(通貨型)に変換します。CCur関数 CCur(expression) 引数expressionには任意の文字列式または数式を指定します。この引数は必ず指定します。
CDate関数
CDate関数は、引数の数値または文字列をDate型(日付型)に変換します。CDate関数 CDate(expression) 引数expressionには任意の文字列式または数式を指定します。この引数は必ず指定します。
CDbl関数
CDbl関数は、引数をDouble型(倍精度浮動小数点数型)に変換します。CDbl関数 CDbl(expression) 引数expressionには任意の文字列式または数式を指定します。この引数は必ず指定します。


新着記事NEW ・・・新着記事一覧を見る

import文(パッケージ・モジュールのインポート)|Python入門(9月24日)
例外処理(try文)とexception一覧|Python入門(9月23日)
リスト内包表記|Python入門(9月22日)
Pythonの引数は参照渡しだが・・・|Python入門(9月21日)
lambda(ラムダ式、無名関数)と三項演算子|Python入門(9月20日)
関数内関数(関数のネスト)とスコープ|Python入門(9月18日)
関数の定義(def文)と引数|Python入門(9月18日)
組み込み関数一覧|Python入門(9月17日)
辞書(dict型)|Python入門(9月16日)
入力規則への貼り付けを禁止する|VBA技術解説(9月16日)


アクセスランキング ・・・ ランキング一覧を見る

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.マクロって何?VBAって何?|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
7.繰り返し処理(For Next)|VBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.とにかく書いてみよう(Sub,End Sub)|VBA入門
10.マクロはどこに書くの(VBEの起動)|VBA入門




このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。


記述には細心の注意をしたつもりですが、
間違いやご指摘がありましたら、「お問い合わせ」からお知らせいただけると幸いです。
掲載のVBAコードは動作を保証するものではなく、あくまでVBA学習のサンプルとして掲載しています。
掲載のVBAコードは自己責任でご使用ください。万一データ破損等の損害が発生しても責任は負いません。



このサイトがお役に立ちましたら「シェア」「Bookmark」をお願いいたします。
本文下部へ