Excelで数式を入力しているとき、突然現れる「#DIV/0!」や「#N/A」といった不思議な記号。これらは「エラー値」と呼ばれ、Excelが「計算できない理由があるよ」と教えてくれているサインです。
しかし、資料として提出したり、誰かに共有したりする表にこれらの記号が並んでいると、見た目が美しくないだけでなく、「どこが間違っているのか」がひと目で分からず、不親切な印象を与えてしまいます。
そんなときに非常に便利なのが「IFERROR(イフエラー)関数」です。この関数を使えば、エラーが発生したときにだけ、表示を空白にしたり、別の分かりやすい言葉に置き換えたりすることができます。
今回は、Excel初心者の方に向けて、IFERROR関数を使ってスマートにエラー表示を消す方法と、その使い分けについて詳しく解説します。
Excelでよく出るエラー表示の正体とは?
IFERROR関数の使い方を学ぶ前に、そもそもなぜエラーが出るのかを簡単に整理しておきましょう。代表的なエラーには以下のようなものがあります。
- #DIV/0!:0で割り算をしようとしたときに出るエラーです。例えば、売上比率を出す計算で「前年の売上が0」だった場合などに発生します。
- #N/A:参照先のデータが見つからないときに出るエラーです。特にVLOOKUP関数などで、検索したい値がリストの中に存在しない場合に多く見られます。
- #VALUE!:数値が入るべき場所に文字が入っているなど、引数の型が間違っているときに出るエラーです。
これらのエラーは、数式自体が間違っている場合だけでなく、「まだデータが入力されていないため、一時的に計算できない」という状況でも発生します。これをそのままにしておくと表が乱雑に見えるため、IFERROR関数でコントロールするのが一般的です。
IFERROR関数でエラー表示を消す基本の手順
IFERROR関数は、一言で言えば「もしエラーになったら、代わりにこれを表示してね」と指示を出す関数です。
IFERROR関数の基本構成(構文)
IFERROR関数の書き方は非常にシンプルです。
`=IFERROR(値, エラーの場合の値)`
- 値:本来計算したい数式(例:割り算やVLOOKUP関数など)を入れます。
- エラーの場合の値:もし「値」の部分でエラーが出たときに、代わりに表示させたい文字や数値を入れます。
具体的な活用例:エラーを「空白」にする
最も多い使い方が、エラーを何も表示させない(空白にする)方法です。この場合は、エラーの場合の値に `""`(ダブルクォーテーション2つ)を指定します。
例:=IFERROR(A1/B1, "")
このように記述すると、B1が0で「#DIV/0!」が出るはずの場合でも、セルには何も表示されず、見た目がスッキリとした表になります。
具体的な活用例:エラーを「特定の文字」に置き換える
空白ではなく、状況に合わせてメッセージを表示させたいときもあります。その場合は、`""` の中に表示したい文字を書き込みます。文字を指定するときは必ず `"`(ダブルクォーテーション)で囲むのがルールです。
- 例:=IFERROR(A1/B1, "前年未発売")
(前年のデータがなく計算できない場合に、「前年未発売」と表示させる例)
- 例:=IFERROR(VLOOKUP(…), "該当商品無し")
(検索してもデータが見つからない場合に、「該当商品無し」と表示させる例)
このように工夫することで、エラーが出ている理由が第三者にも伝わりやすくなります。
【実践】VLOOKUP関数とIFERROR関数を組み合わせる
実務で最もIFERROR関数が活躍するのが、VLOOKUP関数との組み合わせです。
VLOOKUP関数は、ある値をキーにして別の表からデータを取り出す便利な関数ですが、検索値が表の中にない場合、必ず「#N/A」というエラーを返します。
組み合わせ方
例えば、セルA4に「商品No」を入力し、別の表から「商品名」を表示させたいとします。
元の数式(エラーが出る状態): `=VLOOKUP(A4, A7:D17, 2, FALSE)`
このままだと、A4が空欄だったり、存在しない商品Noを入力したりした瞬間に「#N/A」が表示されます。ここでIFERROR関数で外側を囲みます。
改善後の数式: `=IFERROR(VLOOKUP(A4, A7:D17, 2, FALSE), "該当商品無し")`
これで、データが見つからないときは「該当商品無し」と表示され、ユーザーにとって親切な設計になります。
IFERROR関数以外のエラー対策
エラーを消したいとき、必ずしもIFERROR関数が正解とは限りません。状況によっては他の方法が適している場合があります。
1. IF関数を使って「入力があるときだけ」計算する
IFERROR関数は「計算した結果がエラーだったら」という判断をしますが、IF関数を使えば「入力セルが空欄だったら(計算させずに)空白にする」という制御が可能です。
例:=IF(B6="", "", VLOOKUP(B6, Sheet2!A:B, 2, FALSE))
この書き方のメリットは、「数式自体の間違い」に気づける点です。 IFERROR関数ですべてを塗りつぶしてしまうと、本来は数式が間違っていてエラーが出ているのに、それに気づかず「データがないだけだ」と思い込んでしまうリスクがあります。一方、このIF関数による制御なら、B6に入力があるのにエラーが出た場合はそのままエラーが表示されるため、ミスの発見が早まります。
特に、複数人で共有する管理表や、精緻な計算が求められる集計表では、こちらの方法を検討してみてください。
2. 条件付き書式で「文字色を白くする」
関数をいじりたくないけれど、見た目だけエラーを消したい場合に使えるテクニックです。 「エラー値の場合のみ、フォントの色を背景色(白)と同じにする」という条件付き書式を設定すれば、実際にはセルにエラー値が入っているものの、画面上では見えなくなります。また、エラー値を0などの数値に変換し、表示形式で0を非表示にする設定を組み合わせる手法もあります。
3. ピボットテーブルでの設定
ピボットテーブルを使用している場合は、関数を使わなくても簡単な設定でエラーを消せます。 ピボットテーブルのオプション設定にある「エラー値を表示しない」にチェックを入れ、代わりに表示したい値(空白など)を入力すれば、レポート全体のエラーを一括で処理できます。
【注意点】エラーを消しすぎることのリスク
便利に見えるIFERROR関数ですが、使いすぎには注意が必要です。
前述した通り、IFERROR関数で全てのエラーを非表示にすると、「本来気づくべき計算ミス」を見逃すことになります。
- 参照範囲がずれていて、違うデータを拾っている
- 数式の指定列を間違えている
- データの型(数値か文字列か)が混在している
こうした根本的な問題が発生しているときも、IFERROR関数を使っていればすべて「空白」や「該当なし」として処理されてしまいます。
運用のコツ:
- まずはIFERRORを使わずに数式を組み、正しく動作するか確認する。
- 意図的なエラー(データがない場合の#N/Aなど)だけをIFERRORで処理する。
- ファイルを提出する前に、「セル選択」機能(ジャンプ機能)を使って、シート内に意図しないエラーが隠れていないかチェックする。
まとめ
ExcelのIFERROR関数は、#DIV/0! や #N/A といったエラー表示を消して、資料の見た目を整えるための非常に強力なツールです。
- シンプルに消したいとき $\rightarrow$ `=IFERROR(数式, "")`
- 理由を伝えたいとき $\rightarrow$ `=IFERROR(数式, "メッセージ")`
- ミスの見落としを防ぎたいとき $\rightarrow$ IF関数で入力状況を判定する
関数ひとつで、表の「使いやすさ」と「美しさ」は大きく変わります。ぜひ、状況に合わせて使い分け、誰が見ても心地よいExcelシートを作成してください。
ピックアップ記事



