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