LEVEL 5 データを整理・抽出する 中級
Lesson 047

IFERROR関数について

練習用Excelファイル lesson047-practice.xlsx

練習用ファイルは、パソコンからダウンロードしてください。

IFERROR関数について

数式を組んでいると、ときどき エラー に出くわします。

  • #DIV/0!:0で割ろうとした
  • #N/A:該当なし
  • #VALUE!:値の型が合わない
  • #NAME?:関数名のスペルミス

数式自体は間違っていなくても、データの状態によって エラーが出ることはよくあります。

そんなときに使うのが、IFERROR関数(イフエラー関数) です。「もしエラーが出たら、こう表示する」と指定できる、エラー処理の定番関数です。

関数ライブラリ
関数ライブラリ


IFERROR関数の構文

=IFERROR(値, エラーの場合の値)

  • :実行したい数式
  • エラーの場合の値:その数式がエラーになったときに返す値

引数は2つだけ。シンプルな関数です。

引数ダイアログ
引数ダイアログ


具体例で見てみる

ある月の売上から、目標達成率を計算するシート。

:::excel
A1=店舗
B1=売上
C1=目標
D1=達成率
A2=A店
B2=120000
C2=100000
D2=★
A3=B店
B3=80000
C3=100000
A4=C店
B4=95000
C4=0
A5=D店
B5=110000
C5=80000
:::

達成率を計算するのに、セルD2 ★ にこう書きます。

=B2/C2

A店:120% 達成、B店:80% 達成…と続きます。ところが、C店だけは目標が「0」になっています(まだ目標が設定されていない、など)。

D4のセルを計算しようとすると、0で割る ことになり、#DIV/0! というエラーが返ります。

そこで、IFERROR で包んで対処します。

=IFERROR(B2/C2, "未設定")

D2 にこう書いて下にコピーすると、

  • A店:1.2(120%)
  • B店:0.8(80%)
  • C店:未設定 ← エラーの代わりに表示
  • D店:1.375(137.5%)

エラーになっていたC店が、「未設定」というメッセージに変わりました。表全体の見た目もきれいに保てます。


エラーを「空白」にすることも多い

「エラーが出たら何も表示しない」というのも、よく使うパターンです。

=IFERROR(B2/C2, "")

エラーの場合の値に ""(空白)を指定するだけ。これで、エラーの代わりに何も表示されなくなります。

「未入力のデータが多くてエラーがいっぱい」というシートを、IFERROR一つで一気に整えられます。


数式を作ってから「後付け」で囲むことが多い

IFERROR関数で覚えておいてほしい、実務上のポイントがあります。

最初から IFERROR を書こうとする人は、実はあまりいません。

大抵の流れはこうです。

ステップ1:まず、ふつうに数式を作る(=B2/C2 など)
ステップ2:完成して、コピーして、表として動くか確認する
ステップ3:そのとき、エラーが目に入って初めて 「IFERRORで囲もう」と思う
ステップ4:数式を編集して、=IFERROR(B2/C2, "") のようにIFERRORを後付けで追加する

つまり、IFERROR は「後から追加する関数」 という性質があります。

最初から完璧な数式を書こうとせず、まずは普通に組んでみる。エラーが見えてから、後付けで包む ── この順番が、現場でのリアルな使い方です。

数式の編集は [F2] で入りますから、すでに作った数式に対して、頭に IFERROR( を足し、末尾に , "") を足す、という流れになります。慣れるとすぐにできるようになります。


まとめ

  • IFERROR関数で エラーをきれいに処理 できる
  • 構文:=IFERROR(値, エラーの場合の値)
  • #DIV/0!, #N/A, #VALUE! など、すべてのエラーをキャッチ
  • 数式を作ってからIFERRORで後付けで囲む のが実務の流れ
  • エラーの代わりに空白、メッセージ、0、何でも返せる

エラーを「悪いもの」と思わず、「IFERRORで包んでおく」という発想を持っておけば、誰が見ても気持ちのいい表が作れます。

LEVEL 5、論理関数シリーズの基礎セット(IF / AND・OR / IFS / IFERROR)がこれで揃いました。次回は、Excel 初級者が中級者になるための関数、VLOOKUP関数よりスタートです。


ショートカット

  • 数式の編集:[F2]
次のLessonへ Lesson 048 VLOOKUP関数について①