VBA関数
IIf関数

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

IIf関数


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


IIf関数

IIf(expr, truepart, falsepart)

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

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

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

IIf関数の注意点

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

この問題があるので、頻繁に使う事はあまりお勧めしません。
IIf関数は、Ifステートメントで書き直すことが出来ます。

If expr Then
  truepart
Else
  falsepart

End If

IIf関数の使用例


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で除算しました」のエラー、常に真偽両方の引数が評価されます。


Office VBA リファレンス IIf関数


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



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

String関数

String関数は、指定した文字コードの示す文字または文字列の先頭文字を、指定した文字数だけ並べた文字列を返す文字列処理関数です、バリアント型(内部処理形式StringのVariant)の値を返します。String関数 tring(number,character) number 必ず指定します 長整数型(Long…
StrReverse関数
StrReverse関数は、指定された文字列の文字の並びを逆にした文字列を返します。StrReverse関数 StrReverse(expression) expression 文字の並びを逆にする文字列を指定します。引数expressionが長さ0の文字列("")である場合は、
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 文字列式または数式を指定します。この引数は必ず指定します。引数が0~255に変換できない場合はエラーとなります。
CCur関数
CCur関数は、引数をCurrency型(通貨型)に変換します。CCur関数 CCur(expression) expression には任意の文字列式または数式を指定します。この引数は必ず指定します。
CDate関数
CDate関数は、引数の数値または文字列をDate型(日付型)に変換します。CDate関数 CDate(expression) expression 任意の文字列式または数式を指定します。この引数は必ず指定します。
CDbl関数
CDbl関数は、引数をDouble型(倍精度浮動小数点数型)に変換します。CDbl関数 CDbl(expression) expression 任意の文字列式または数式を指定します。この引数は必ず指定します。


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

数字(1~50)を丸付き数字に変換するVBA|VBA技術解説(2022-11-15)
TEXTAFTER関数(テキストの指定文字列より後ろの部分を返す)|エクセル入門(2022-11-14)
TEXTBEFORE関数(テキストの指定文字列より前の部分を返す)|エクセル入門(2022-11-14)
TEXTSPLIT関数(列と行の区切り記号で文字列を分割)|エクセル入門(2022-11-12)
LAMBDA以降の新関数はVBAで使えるか|VBA技術解説(2022-11-11)
WRAPCOLS関数(1次元配列を指定数の列で折り返す)|エクセル入門(2022-11-08)
WRAPROWS関数(1次元配列を指定数の行で折り返す)|エクセル入門(2022-11-08)
EXPAND関数(配列を指定された行と列に拡張する)|エクセル入門(2022-11-07)
TAKE関数(配列の先頭/末尾から指定行/列数を取得)|エクセル入門(2022-11-06)
DROP関数(配列の先頭/末尾から指定行/列数を除外)|エクセル入門(2022-11-06)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.RangeとCellsの使い方|VBA入門
3.変数宣言のDimとデータ型|VBA入門
4.繰り返し処理(For Next)|VBA入門
5.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
6.Excelショートカットキー一覧|Excelリファレンス
7.並べ替え(Sort)|VBA入門
8.エクセルVBAでのシート指定方法|VBA技術解説
9.マクロって何?VBAって何?|VBA入門
10.ExcelマクロVBAの基礎を学習する方法|エクセルの神髄




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


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



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