Excelマクロ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 型変換…12 データ判定…11 日付時刻…20 配列…7 ファイル操作…14 数学/財務…28 その他…19 MicrosoftDocsOfficeVBARefer…



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

CDbl関数

CDbl関数は、引数をDouble型(倍精度浮動小数点数型)に変換します。CDbl関数 CDbl(expression) 引数expressionには任意の文字列式または数式を指定します。この引数は必ず指定します。
CDec関数
CDec関数は、引数をDecimal型(10進型)に変換します。CDec関数 CDec(expression) 引数expressionには任意の文字列式または数式を指定します。この引数は必ず指定します。
CInt関数
CInt関数は、引数をInteger型(整数型)に変換します。CInt関数 CInt(expression) 引数expressionには任意の文字列式または数式を指定します。この引数は必ず指定します。
CLng関数
CLng関数は、引数をLong型(長整数型)に変換します。CLng関数 CLng(expression) 引数expressionには任意の文字列式または数式を指定します。この引数は必ず指定します。引数がLong型(長整数型)に変換できない場合はエラーとなります。
CSng関数
CSng関数は、引数をSingle型(単精度浮動小数点数型)に変換します。CSng関数 CSng(expression) 引数expressionには任意の文字列式または数式を指定します。この引数は必ず指定します。
CStr関数
CStr関数は、引数をString型(文字列型)に変換します。CStr関数 CDec(expression) 引数expressionには任意の文字列式または数式を指定します。この引数は必ず指定します。
CVar関数
CVar関数は、引数をVariant型(バリアント型)に変換します。CVar関数 CVar(expression) 引数expressionには任意の文字列式または数式を指定します。この引数は必ず指定します。
CVErr関数
CVErr関数は、指定した数値(エラー番号)を、バリアント型のエラー値に変換した値を返す変換関数です。CVErr関数 CVErr(errornumber) errornumberには、任意の数値(エラー番号)を指定します。この引数は必ず指定します。
IIf関数
TypeName関数
TypeName関数は、引数で指定された変数に関する情報を文字列で返します。TypeName関数 TypeName(varname) varname 必ず指定します。引数varnameには、ユーザー定義型の変数を除く、任意のバリアント型(Variant)の変数を指定します。
VarType関数
VarType関数は、引数に指定された変数の内部処理形式を表す整数型(Integer)の値を返します。VarType関数 VarType(varname) varname 必ず指定します。引数varnameには、ユーザー定義型の変数を除く、任意のバリアント型(Variant)の変数を指定します。


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

Byte配列と文字コード関数について|VBA技術解説(8月20日)
PowerQueryの強力な機能をVBAから利用する方法|VBA技術解説(8月4日)
練習問題31(セル結合を解除して値を埋める)|VBA練習問題(7月30日)
練習問題30(マトリックス→リスト形式)|VBA練習問題(7月25日)
Applicationを省略できるApplicationのメソッド・プロパティ一覧|VBA技術解説(7月22日)
コレクション(Collection)の並べ替え(Sort)に対応するクラス|VBA技術解説(7月20日)
CSVの読み込み方法(ジャグ配列)|VBAサンプル集(7月15日)
その他のExcel機能(グループ化、重複の削除、オートフィル等)|VBA入門(7月14日)
オートフィルタ退避回復クラスを複数シート対応させるVBAクラス|VBA技術解説(7月6日)
オートフィルタを退避回復するVBAクラス|VBA技術解説(7月6日)


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

1.最終行の取得(End,Rows.Count)|VBA入門
2.セルのコピー&値の貼り付け(PasteSpecial)|VBA入門
3.RangeとCellsの使い方|ExcelマクロVBA入門
4.Range以外の指定方法(Cells,Rows,Columns)|VBA入門
5.変数とデータ型(Dim)|ExcelマクロVBA入門
6.繰り返し処理(For Next)|ExcelマクロVBA入門
7.マクロって何?VBAって何?|ExcelマクロVBA入門
8.セルに文字を入れるとは(Range,Value)|VBA入門
9.ひらがな⇔カタカナの変換|エクセル基本操作
10.空白セルを正しく判定する方法(IsEmpty,IsError,HasFormula)|VBA技術解説



  • >
  • >
  • >
  • IIf関数

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


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




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