IFNA関数:#N/Aエラー発生時にエラー値の代わりの値を返す

IFNA 関数は Excel で用意されている関数の一つで、指定の値が #N/A エラーとなった場合に、エラー値の代わりに指定した別の値を返します。同じような関数に IFERROR 関数がありますが、 IFERROR 関数はエラーの種類に関係なく別の値を返すのに対して IFNA 案数は #N/A エラーの場合だけに別の値を返します。ここでは Excel における IFNA 関数の使い方について解説します。

※ Excel の対応バージョン : 365 web 2021 2019 2016 2013

(2021 年 09 月 13 日公開 / 2022 年 10 月 25 日更新)

IFNA関数の定義

IFNA 関数は引数に指定した値が #N/A エラーになった場合に、エラー値の代わりに指定した別の値を返します。

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 のシートに対象の数値を次のように入力しました。

IFNA関数の使い方(1)

#N/A エラーが発生する状況を試してみるために C11 セルに VLOOKUP 関数を次のように入力しました。

=VLOOKUP(B11,B3:C7,2,FALSE)

IFNA関数の使い方(2)

詳しい説明はここでは省略しますが、 B11 セルに入力された値が B3 から B7 までのセルに入力された値に一致するか検索し、見つかった場合は同じ行の商品名を返します。例えば B11 セルに A-03 と入力すると VLOOKUP 関数が入力された C11 には "筆箱" が表示されます。

IFNA関数の使い方(3)

もし B11 セルに入力された値が B3 から B7 までのセルに入力された値と一致しなかった場合は VLOOKUP 関数が入力された C11 には #N/A エラーが表示されます。

IFNA関数の使い方(4)

IFNA関数を使う

このように関数が返す値として #N/A エラーとなる可能性がある場合に、 #N/A エラーの代わりに別の値を表示させたい場合は、 IFNA 関数の最初の引数に #N/A エラーを返す可能性のある関数を指定し、 2 番目の引数に #N/A エラーの代わりに返す文字列を指定します。

では C11 セルに次のように入力しました。

=IFNA(VLOOKUP(B11,B3:C7,2,FALSE),"Not Found")

IFNA関数のサンプル(5)

先ほど同じように B11 セルに入力された値が B3 から B7 までのセルに入力された値に一致するか検索し、見つかった場合は同じ行の商品名を VLOOKUP 関数は返します。 IFNA 関数では 1 番目の引数に指定した関数が #N/A エラー以外を返した場合はその値をそのまま返すので C11 セルには VLOOKUP 関数が返した値がそのまま表示されます。例えば B11 セルに A-01 と入力すると VLOOKUP 関数が入力された C11 には "鉛筆" が表示されます。

IFNA関数のサンプル(6)

もし B11 セルに入力された値が B3 から B7 までのセルに入力された値と一致しなかった場合は VLOOKUP 関数は #N/A エラーを返します。 IFNA 関数では 1 番目の引数に指定した関数が #N/A エラーを返した場合は、代わりに 2 番目の引数に指定した文字列を返すので C11 セルには "Not Found" が表示されます。

IFNA関数のサンプル(7)

このように IFNA 関数を使用することで、 #N/A エラー がセルに入力される可能性がある場合に別の値を代わりに表示させることができます。

-- --

Excel における IFNA 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

広告
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。