【Excel入門】【関数】IFERROR
この記事では、IFERROR(イフエラー)関数の使い方を学びます。
IFERROR関数の構文・解説
まず、IFERROR関数の構文を見ていきます。
構文
=IFERROR(値, エラー時の値)
引数
- 値:セルや数式を指定する
- エラー時の値:値がエラーだったときに表示する値を指定する
解説
IFERROR関数は、引数の『値』に指定したデータがエラーかどうかを判定して、エラーの場合に引数で指定した『エラー時の値』を返します。エラーでなければ、『値』そのままのデータを表示します。
※IFERROR関数はExcel2007年以降から利用できます。
ポイント
IFが付いているので、条件分岐をする関数。
ERRORが付いているので、エラーのときだけ条件分岐をする。
エラーの時は関数の処理をして、引数で指定した『エラー時の値』を返す。
エラー以外の時はそのままの値を返す。
IFERROR関数の使用例
実際にIFERROR関数を利用して、使い方を学んでいきましょう。
エラーの場合に特定の値を返すIFERROR関数
この表では達成率の行に売上/達成率の式を入れて、%の書式で達成率を表示するようにしています。
しかし、4月は「臨時休業」と文字列が入力されて、 エラー「#VALUE!」が表示されています。
エラーの場合に空白を返すには、『=IFERROR(E3/E2, "")』を入力すれば空白が返ります。
もしも、「計算不可」という文字列を返す場合は『=IFERROR(E3/E2, "計算不可")と入力すれば、「計算不可」を返します。
今回は、エラーが出たのでIFERROR関数を使って特定の値を返すように数式を変更しましたが、それならエラーをDeleteしたり、ベタ打ちで計算不可や0%などを入力したほうがいいですよね。
実際にIFERROR関数を使うケースは、その数式にエラーが出る可能性があり、エラーの場合にエラーを非表示にしたい、特定の値を返したいときです。
次はVLOOKUP関数との組み合わせで実務でも利用するケースを学びたいと思います。
VLOOKUP関数とIFERROR関数の組み合わせ
受注表の製品名と価格を、受注表に入力したコードを検索値としてコード一覧から取得するケースを考えてみましょう。
VLOOKUP関数で「コード」から「製品名」・「価格」を取得するようにしています。
そして、「合計」列も「=価格*数量」の式をあらかじめ入力しています。
コードが未入力の場合、#N/A(ノー・アサイン)のエラーが表示されてしまいます。
※「#N/A」は参照先のセルに値がない場合に表示されます。
このままでは見苦しいので、IFERROR関数を使ってエラー時は何も表示しないように設定したいと思います。
受注表の「製品名」列、「価格」列をIFERROR関数を使って、エラーのときは「""」何も表示しないように指定しました。
これでスッキリしましたね。
式が長くなり、難しそうに見えますが、引数に着目して考えると簡単です。
=IFERROR(VLOOKUP($A3,$G$3:$I$6,2),"")
IFERROR関数の引数は2つ。1つ目は「値」。もう一つは「エラー時の値」でした。
今回の場合は、『VLOOKUP($A3,$G$3:$I$6,2)』が「値」、『""』が「エラー時の値」です。
VLOOKUPの式でエラーが表示された場合、「""」を返す。という式になっています。
まだ、「合計」列に「#VALUE」(バリュー)エラーが表示されています。
※「#VALUE」は引数が正しくない場合に表示されます。
合計列もIFERROR関数を使って、エラー時は何も表示しないように変更したいと思います。
「合計」列については、IFERROR(価格*数量,"")としてました。
=IFEEROR(C3*D3,"")
これでエラーのときは空白セルとして表示されるので、スッキリしましたね。
今回はIFERROR関数について紹介しました。
お読みいただきありがとうございました。