見習いエンジニアがゆく

見習いエンジニアの勉強帳 VBA・NWなどなどITの勉強用ブログです。のんびり、のんびり。

【Excel入門】【関数】IFERROR

この記事では、IFERROR(イフエラー)関数の使い方を学びます。

 

 

IFERROR関数の構文・解説

まず、IFERROR関数の構文を見ていきます。

 

構文

=IFERROR(値, エラー時の値)

 

引数

  • 値:セルや数式を指定する
  • エラー時の値:値がエラーだったときに表示する値を指定する

 

解説

IFERROR関数は、引数の『値』に指定したデータがエラーかどうかを判定して、エラーの場合に引数で指定した『エラー時の値』を返します。エラーでなければ、『値』そのままのデータを表示します。

※IFERROR関数はExcel2007年以降から利用できます。

 

ポイント

IFが付いているので、条件分岐をする関数。

ERRORが付いているので、エラーのときだけ条件分岐をする。

エラーの時は関数の処理をして、引数で指定した『エラー時の値』を返す。

エラー以外の時はそのままの値を返す。

 

IFERROR関数の使用例

実際にIFERROR関数を利用して、使い方を学んでいきましょう。

 

エラーの場合に特定の値を返すIFERROR関数

 f:id:melancholy198x:20190511223900j:plain

 

この表では達成率の行に売上/達成率の式を入れて、%の書式で達成率を表示するようにしています。

しかし、4月は「臨時休業」と文字列が入力されて、 エラー「#VALUE!」が表示されています。

 

エラーの場合に空白を返すには、『=IFERROR(E3/E2, "")』を入力すれば空白が返ります。

f:id:melancholy198x:20190511224832j:plain

 

もしも、「計算不可」という文字列を返す場合は『=IFERROR(E3/E2, "計算不可")と入力すれば、「計算不可」を返します。

f:id:melancholy198x:20190511225223j:plain

 

 

今回は、エラーが出たのでIFERROR関数を使って特定の値を返すように数式を変更しましたが、それならエラーをDeleteしたり、ベタ打ちで計算不可や0%などを入力したほうがいいですよね。

 

実際にIFERROR関数を使うケースは、その数式にエラーが出る可能性があり、エラーの場合にエラーを非表示にしたい、特定の値を返したいときです。

 

次はVLOOKUP関数との組み合わせで実務でも利用するケースを学びたいと思います。

 

www.heilnervba.work

 

VLOOKUP関数とIFERROR関数の組み合わせ

f:id:melancholy198x:20190512094956j:plain

 

受注表の製品名と価格を、受注表に入力したコードを検索値としてコード一覧から取得するケースを考えてみましょう。

VLOOKUP関数で「コード」から「製品名」・「価格」を取得するようにしています。

そして、「合計」列も「=価格*数量」の式をあらかじめ入力しています。

 

コードが未入力の場合、#N/A(ノー・アサイン)のエラーが表示されてしまいます。

※「#N/A」は参照先のセルに値がない場合に表示されます。

 

このままでは見苦しいので、IFERROR関数を使ってエラー時は何も表示しないように設定したいと思います。

f:id:melancholy198x:20190512095824j:plain

 

受注表の「製品名」列、「価格」列をIFERROR関数を使って、エラーのときは「""」何も表示しないように指定しました。

これでスッキリしましたね。

 

式が長くなり、難しそうに見えますが、引数に着目して考えると簡単です。

=IFERROR(VLOOKUP($A3,$G$3:$I$6,2),"")

 

IFERROR関数の引数は2つ。1つ目は「値」。もう一つは「エラー時の値」でした。

今回の場合は、『VLOOKUP($A3,$G$3:$I$6,2)』が「値」、『""』が「エラー時の値」です。

VLOOKUPの式でエラーが表示された場合、「""」を返す。という式になっています。

 

 

まだ、「合計」列に「#VALUE」(バリュー)エラーが表示されています。

※「#VALUE」は引数が正しくない場合に表示されます。

 

合計列もIFERROR関数を使って、エラー時は何も表示しないように変更したいと思います。

f:id:melancholy198x:20190512100739p:plain

「合計」列については、IFERROR(価格*数量,"")としてました。

=IFEEROR(C3*D3,"")
 

これでエラーのときは空白セルとして表示されるので、スッキリしましたね。

今回はIFERROR関数について紹介しました。

 

お読みいただきありがとうございました。