説明
この関数は、ある式が#N/A と評価された場合に指定した値を返し、評価されなかった場合にその式の結果を返す。
構文
IFNA(value, value_if_na)
インプット
この関数は以下の引数を受け付ける:
名称 | 必須 | 説明 | 有効入力 |
---|---|---|---|
値 |
はい | N/Aエラーをチェックする値または式。 | 数値、テキスト、論理値、これらのいずれかを含むセルへの参照、これらのいずれかを含むセル範囲、またはこれらのいずれかをもたらす数式。 |
値 |
はい | 式が#N/Aと評価された場合に返す値。 | テキスト、数値、論理値を含む任意の値。 |
例
サンプルデータ
A | B |
---|---|
アップル | $1.50 |
バナナ | $0.75 |
チェリー | $2.25 |
日付 | $3.00 |
サンプルフォーミュラ
数式 | 説明 | 結果 |
---|---|---|
=IFNA(VLOOKUP("Banana",A1:B4,2,FALSE), "在庫なし") |
バナナ」の値段を調べる。見つかれば価格を返し、見つからなければ「在庫なし」を返す。 | 0.75 |
=IFNA(VLOOKUP("Grape",A1:B4,2,FALSE), "在庫なし") |
グレープ」の価格を調べる。リストにないので「在庫がありません」と返す。 | 在庫なし |
=IFNA(INDEX(B1:B4,MATCH("D*", A1:A4, 0)), "D'で始まる果物はありません") |
D'で始まる果物の値を探す。見つかればその価格を返し、見つからなければ "No fruit starting with 'D'". | 3.00 |
=IFNA(1/0, "Cannot divide by zero") |
ゼロで割ろうとする。この結果、#N/Aではなく#DIV/0!エラーとなり、IFNAはこれを捕捉しない。 | #DIV/0! |
メモ
- IFNAは#N/Aのエラーだけをキャッチする。(これらはデータが見つからないことを示している)。
- 数式が#N/Aエラーにならない場合、IFNAはその値を返す。数式が別のエラーを返した場合、IFNAはそのエラー値を返す。
- N/Aエラーの場合、IFNAは、そのエラーが返された場合に表示される代替値を指定することができる。
- IFNAは、VLOOKUP 、HLOOKUP 、MATCH 、INDEX 関数で特に有用である。これらの関数は、値が見つからないと#N/Aを返すことが多い。
- IFNAは、他の関数の中に入れ子にしたり、より大きな数式の一部として使用することができる。(上記の例を参照)。
ヒント
- 特に#N/Aエラーを処理したいが、他のタイプのエラーも表示させたい場合は、IFNAを使用する。
- IFNAは、
IF(ISNA(...))
を使うよりも効率的である。 - 複数のエラー・タイプを処理するには、代わりにIFERROR を使うことを検討する。
- ルックアップ関数でIFNAを使用する場合、欠損データに対してデフォルト値を返すことが使用ケースに適しているかどうかを検討する。
- IFNAは、真のゼロ値と「見つからなかった」シナリオを区別することが重要な金融モデルにおいて有用である。