IFNA関数:#N/Aエラー発生時にエラー値の代わりの値を返す
IFNA 関数は Excel で用意されている関数の一つで、指定の値が #N/A エラーとなった場合に、エラー値の代わりに指定した別の値を返します。同じような関数に IFERROR 関数がありますが、 IFERROR 関数はエラーの種類に関係なく別の値を返すのに対して IFNA 案数は #N/A エラーの場合だけに別の値を返します。ここでは Excel における IFNA 関数の使い方について解説します。
※ Excel の対応バージョン : 365 web 2021 2019 2016 2013
(Last modified: )
IFNA関数の定義
IFNA
関数は引数に指定した値が #N/A
エラーになった場合に、エラー値の代わりに指定した別の値を返します。
1 番目の引数にエラーかどうかを調べる値または値が入力されているセルを指定します。値が #N/A
エラーでなかった場合は値をそのまま返しますが、もしエラーだった場合は 2 番目の引数に指定した値を代わりに返します。なお IFERROR
関数と異なり #N/A
エラーだけが対象となります。他のエラーが発生した場合はそのままエラーを返します。
※ IFERROR
関数については「IFERROR関数:エラー発生時にエラー値の代わりの値を返す」を参照されてください。
例えば VLOOKUP
関数や HLOOKUP
関数を実行した場合、引数に指定した値が検索対象の範囲に見つからなかった場合に #N/A
エラーが返されます。
=VLOOKUP(B11,B3:D7,2,FALSE) --> #N/A
#N/A
エラーが発生した場合に、 #N/A
エラーの代わりに別の値を表示するようにするには IFNA
関数を使って次のように記述します。
=IFNA(VLOOKUP(B11,B3:D7,2,FALSE),"Not Found") --> Not Found
このように #N/A
エラーが発生する可能性がある場合に IFNA
関数を使用することで、エラー値を表示する代わりに指定した任意の文字列を表示させることができます。
※ VLOOKUP
関数については「VLOOKUP関数:指定の列を縦方向に検索し同じ行にある値を取得する」を参照されてください。
IFNA関数の使い方
それでは実際に IFNA
関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。
#N/A
エラーが発生する状況を試してみるために C11 セルに VLOOKUP
関数を次のように入力しました。
=VLOOKUP(B11,B3:C7,2,FALSE)
詳しい説明はここでは省略しますが、 B11 セルに入力された値が B3 から B7 までのセルに入力された値に一致するか検索し、見つかった場合は同じ行の商品名を返します。例えば B11 セルに A-03 と入力すると VLOOKUP
関数が入力された C11 には "筆箱" が表示されます。
もし B11 セルに入力された値が B3 から B7 までのセルに入力された値と一致しなかった場合は VLOOKUP
関数が入力された C11 には #N/A
エラーが表示されます。
IFNA関数を使う
このように関数が返す値として #N/A
エラーとなる可能性がある場合に、 #N/A
エラーの代わりに別の値を表示させたい場合は、 IFNA
関数の最初の引数に #N/A
エラーを返す可能性のある関数を指定し、 2 番目の引数に #N/A
エラーの代わりに返す文字列を指定します。
では C11 セルに次のように入力しました。
=IFNA(VLOOKUP(B11,B3:C7,2,FALSE),"Not Found")
先ほど同じように B11 セルに入力された値が B3 から B7 までのセルに入力された値に一致するか検索し、見つかった場合は同じ行の商品名を VLOOKUP
関数は返します。 IFNA
関数では 1 番目の引数に指定した関数が #N/A
エラー以外を返した場合はその値をそのまま返すので C11 セルには VLOOKUP
関数が返した値がそのまま表示されます。例えば B11 セルに A-01 と入力すると VLOOKUP
関数が入力された C11 には "鉛筆" が表示されます。
もし B11 セルに入力された値が B3 から B7 までのセルに入力された値と一致しなかった場合は VLOOKUP
関数は #N/A
エラーを返します。 IFNA
関数では 1 番目の引数に指定した関数が #N/A
エラーを返した場合は、代わりに 2 番目の引数に指定した文字列を返すので C11 セルには "Not Found" が表示されます。
このように IFNA
関数を使用することで、 #N/A
エラー がセルに入力される可能性がある場合に別の値を代わりに表示させることができます。
-- --
Excel における IFNA 関数の使い方について解説しました。
( Written by Tatsuo Ikura )
著者 / TATSUO IKURA
これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。