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 ・・・新着記事一覧を見る

Select Caseでの短絡評価(ショートサーキット)の使い方|VBA技術解説(1月3日)
VBA100本ノック 迷宮編:巡回セル問題|VBA練習問題(12月31日)
VBA100本ノック 58本目:番号リストを簡潔にした文字列で返す|VBA練習問題(12月30日)
VBA100本ノック 57本目:ファイルの更新日時|VBA練習問題(12月29日)
VBA100本ノック 56本目:数式内の自身のシート名を消す|VBA練習問題(12月28日)
VBA100本ノック 55本目:他ブックのマクロを起動|VBA練習問題(12月26日)
VBA100本ノック 54本目:シートのChangeイベント|VBA練習問題(12月25日)
VBA100本ノック 53本目:テーブルの扱いと年齢計算|VBA練習問題(12月23日)
VBA100本ノック 52本目:複数シートの一括印刷|VBA練習問題(12月22日)
VBA100本ノック 51本目:シート一覧と印刷ページ数|VBA練習問題(12月21日)


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

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




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


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



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