【Excel】エラー表示を分かりやすく、IFERROR関数で「#DIV/0!」や「#N/A」をスマートに回避する方法Tech TIPS

「Microsoft Excel(エクセル)」で数式を使っていると、セルに「#N/A」「#DIV/0!」「#VALUE!」といったエラーが表示されることがある。こういった表示は報告書や資料としては見栄えが悪く、受け取った相手を混乱させてしまう原因にもなる。そこで、IFERROR関数を使って、このようなエラー表示を回避する方法を紹介する。

» 2025年10月08日 05時00分 公開
[小林章彦デジタルアドバンテージ]
「Tech TIPS」のインデックス

連載目次

対象:Excel 2021/2024/365


IFERROR関数で「#DIV/0!」や「#N/A」をスマートに回避する IFERROR関数で「#DIV/0!」や「#N/A」をスマートに回避する
「Microsoft Excel(エクセル)」で数式を使っていると、セルに「#N/A」「#DIV/0!」「#VALUE!」といったエラーが表示されることがある。こういった表示は報告書や資料としては見栄えが悪く、受け取った相手を混乱させてしまう原因にもなる。そこで、IFERROR関数を使って、このようなエラー表示を回避する方法を紹介する。

 「Microsoft Excel(エクセル)」で数式を使っていると、セルに「#N/A」「#DIV/0!」「#VALUE!」といったエラーが表示されることがある。これらは計算が正しくないことを示す重要なサインだが、報告書や資料としては見栄えが悪く、受け取った相手を混乱させてしまう原因にもなる。

 そこで、このようなエラー表示を回避する方法を紹介しよう。エラー表示がなくなりスマートな表が作成できるようになるはずだ。

IFERROR関数とは?

 エラー表示を回避するには、エラーが表示される可能性がある数式に対して、IFERROR関数を使って指定した数値や文字列に置き換えればよい。

 IFERROR関数は、数式がエラーになったかどうかをチェックし、もしエラーであれば指定した値を、エラーでなければ数式の計算結果をそのまま表示する、という非常にシンプルな関数だ。IFERROR関数の引数の「値」にはエラーかどうかをチェックしたい数式やセル参照を指定し、「エラーの場合の値」は「値」がエラーとなった場合に表示させたい数値や文字列を指定する。

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

IFERRORの書式

 次に少し具体的な例を示して、IFERROR関数を使ったエラー表示の回避方法を紹介しよう。

割り算で「#DIV/0!」エラーを防ぐ

 エラーとして比較的目にしやすいのは、店舗や商品ごとの前年比や前期比を計算する際などに、分母が「0」になることで発生する「#DIV/0!(ゼロ除算)」エラーだろう。新店舗や新商品などの場合、分母となる前年や前期の値がないため、分母が「0」になってしまい「#DIV/0!」エラーが発生してしまう。

 エラーとなった場合は「0」とすることで、エラーの連鎖を防ぎ、後続の計算(AVERAGE関数など)にも影響を与えなくするとよい。

 それには、単純に前年や前期の値が入っているセル番号で割り算するのではなく、IFERROR関数を使って以下のように数式を入力する。

=IFERROR(E2/D2,"")

IFERRORを使った比の計算式

 この例では「""(ダブルクォーテーションを2つ)」として空欄にしている。空欄にしておけば、AVERAGE関数で正しい平均値が計算できる。「0」としたい場合は、「""」の部分に「0」を入力すればよい。また、ハイフンにしたい場合は「"-"」を指定する。

割り算で「#DIV/0!」エラーを防ぐ(1) 割り算で「#DIV/0!」エラーを防ぐ(1)
前年比や前期比などの計算をする際、前年/前期に値がないと「#DIV/0!」エラーになる。平均値の計算もエラーになってしまう。
割り算で「#DIV/0!」エラーを防ぐ(2) 割り算で「#DIV/0!」エラーを防ぐ(2)
IFEEOR関数でエラーになった場合は「0」になるように記述してみた。「仙台支店」はエラーのため「0%」になっている。ただし、平均を計算すると「仙台支店」の「0%」が含まれてしまうため、意図した平均値にならない。
割り算で「#DIV/0!」エラーを防ぐ(3) 割り算で「#DIV/0!」エラーを防ぐ(3)
IFEEOR関数でエラーになった場合は空欄になるように記述してみた。「仙台支店」はエラーのため空欄になっている。空欄にすることで、平均の計算に「仙台支店」が含まれず、意図した平均値になる。

VLOOKUP関数で「#N/A」エラーを回避する

 VLOOKUP関数を使って参照先のリストから該当する商品名や価格などの検索値を読み取るというのは、Excelでよく使う方法だろう。ただ、参照先のリストに該当する商品名や価格などがない場合、VLOOKUP関数は「#N/A」エラーを返すため、セルに「#N/A」が入力されてしまう。

 エラーとなることで、商品コードの入力ミスなどに気付くというメリットもある。しかし、表の見栄えはあまり良くない。このような場合は、IFERROR関数を使って「#N/A」エラーの代わりに「該当商品なし」などのメッセージが表示されるようにするとよい。

=IFERROR(VLOOKUP(E2,A2:C21,2,FALSE), "該当商品なし")

IFERRORを使ったVLOOKUP関数で「#N/A」エラーを回避する計算式

VLOOKUP関数で「#N/A」エラーを回避する(1) VLOOKUP関数で「#N/A」エラーを回避する(1)
VLOOKUP関数で商品リストに存在しない商品コードで検索すると、「#N/A」エラーとなる。
VLOOKUP関数で「#N/A」エラーを回避する(2) VLOOKUP関数で「#N/A」エラーを回避する(2)
IFERROR関数でエラーの場合、「該当なし」「−」と入力するようにすれば、見栄えの良い表にできる。

Copyright© Digital Advantage Corp. All Rights Reserved.

アイティメディアからのお知らせ

スポンサーからのお知らせPR

注目のテーマ

4AI by @IT - AIを作り、動かし、守り、生かす
Microsoft & Windows最前線2025
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。