この記事は 事務でよく使うExcel関数まとめ|目的から探せる一覧 の1本です。他の関数もまとめて見られます。
式を入れた表に #N/A や #DIV/0! がずらっと並んで、そのままでは資料として出せない。
これを消すのが IFERROR(イフエラー) です。1行囲むだけでエラーが消えるので、覚えるとすぐ使いたくなります。
ただしこの関数は、使ってはいけない場面があります。そこを先に押さえないと、間違った数字のまま気づかない資料ができあがります。使い方と一緒に、その線引きまで扱います。
この記事で直すもの
品番からマスタを引いて、単価×数量で金額を出している表です。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 品番 | 単価 | 数量 | 金額 | 単価率 |
| 2 | S-100 | 1,200 | 50 | 60,000 | 2.4% |
| 3 | H-200 | 3,800 | 20 | 76,000 | 5.0% |
| 4 | X-999 | #N/A | 10 | #N/A | #N/A |
| 5 | #N/A | #N/A | #DIV/0! |
#N/A は「探したけれど見つからない」、#DIV/0! は「0で割ろうとした」という意味です。Excelとしては正しい動きですが、このまま印刷はできません。
エラー表示の意味
先に、よく出るものだけ整理しておきます。エラーの種類によって、対処がまったく変わります。
| 表示 | 意味 | 多い原因 |
|---|---|---|
#N/A | 見つからない | 探した値がマスタに無い |
#DIV/0! | 0で割った | 割る数が未入力、または0 |
#VALUE! | 種類が違う | 数字のところに文字が入っている |
#REF! | 参照先が消えた | 参照していた行や列を削除した |
#NAME? | 名前が分からない | 関数名の打ち間違い、" の付け忘れ |
上2つは想定内のことが多く、下2つは式そのものが壊れているサインです。ここが後で効いてきます。
IFERRORの形
- いつもの式もともと入れていた式をそのまま書く
- エラーだったときに表示するものエラーの代わりに出す文字や値
もとの式を =IFERROR( と , "") で囲むだけです。IFと同じで、囲むだけと覚えると迷いません。
STEP1:実際に消してみる
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 品番 | 単価 | 数量 | 金額 | 単価率 |
| 2 | S-100 | 1,200 | 50 | 60,000 | 2.4% |
| 3 | H-200 | 3,800 | 20 | 76,000 | 5.0% |
| 4 | X-999 | #N/A | 10 | ||
| 5 | #N/A |
エラーが出ている列それぞれに入れる必要があります。1か所に入れれば全部消える、というものではありません。
STEP2:消していい場面と、いけない場面
ここが本題です。
消していい場面
「エラーが出るのが当たり前」で、しかも害がないときです。
・まだ入力していない行に #DIV/0! が出る
・集計前の空欄に #N/A が出る
・印刷して渡す資料で、空欄のほうが読みやすい
つまり、エラーの原因がすでに分かっていて、放置して問題ない場合です。
消してはいけない場面
エラーが「何かおかしい」と教えてくれているときです。
・#REF! … 参照していた列を消してしまっている。式はもう壊れています
・#NAME? … 関数名や " を間違えている。計算されていません
・#N/A でも、本来マスタにあるはずの品番が見つからないとき
これらをIFERRORで空欄にすると、壊れた式が「正常に空欄を返している」ように見えます。
どうなるかを見てください。
| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 得意先 | 品番 | 単価 | 数量 | 金額 |
| 2 | A社 | S-100 | 1,200 | 50 | 60,000 |
| 3 | B社 | H-200 | #REF! | 20 | |
| 4 | C社 | G-300 | 900 | 30 | 27,000 |
| 5 | 合計 | 87,000 |
エラーは出ていません。合計も普通に出ています。だから誰も気づかないまま請求書が出ます。
#REF! が見えていれば「何かおかしい」と分かったはずのものを、IFERRORが隠してしまった形です。
IFERRORは「エラーを消す」関数であって、「エラーを直す」関数ではありません
見た目がきれいになるので、つい全部の式を囲みたくなります。
ですが囲んだ瞬間から、その式が壊れても分からなくなります。
「とりあえず全部IFERRORで囲む」は、やってはいけない使い方です。
STEP3:原因で分けて書く
正しい形は、原因ごとに違う表示を出すことです。
未入力なら空欄、マスタに無いならその旨を表示する。こうすれば、想定内のものだけが静かになり、想定外のものは目に見えたままになります。
| A | B | C | D | |
|---|---|---|---|---|
| 1 | 品番 | 単価 | 数量 | 金額 |
| 2 | S-100 | 1,200 | 50 | 60,000 |
| 3 | H-200 | 3,800 | 20 | 76,000 |
| 4 | X-999 | #N/A | 10 | 品番を確認 |
| 5 |
式の読み方はこうです。
品番が空なら空欄。そうでなければ計算する。計算できなければ「品番を確認」と出す。
- A2=""品番が空かどうか
- ""空なら何も表示しない
- IFERROR(B2*C2, "品番を確認")空でなければ計算。エラーなら注意書きを出す
「空なら空欄」の作り方は IF関数の使い方 で扱っています。
エラーの種類を見て分けることもできます
#N/A だけを拾って、それ以外のエラーはそのまま表示させるという書き方もあります。
「見つからないのは想定内、それ以外は見逃したくない」という場面に向いています。
詳しくは IFNA関数の使い方(近日公開) で扱います。
よくあるつまずき
エラーを消したら、今度は 0 が並んだ
空のセルを参照すると、Excelは 0 を返します。エラーではないのでIFERRORでは消えません。
この場合はIFERRORではなく、「空なら空欄」の形で対処します。=IF(A2="", "", 元の式) です。
式が長くなって読めなくなった
IFERRORの中にさらにIFERRORを入れるような書き方をすると、
あとから誰も直せなくなります。
入れ子が2段を超えたら、式を分けるか、作業列を1つ作ってください。
「1つの式に詰め込みすぎない」ほうが、結果的に早く終わります。
使う前のチェック
IFERRORを入れる前に、この2つだけ確認してください。
- そのエラーの原因が分かっているか
分からないまま消さないでください。まず原因を特定します。分からないエラーを消すのは、警告灯にテープを貼るのと同じです。
- 消したあと、集計に影響しないか
空欄にした行が合計から抜けても問題ないか確認します。上の請求漏れは、ここを見落として起きます。
この2つが確認できていれば、IFERRORは安全に使えます。
今日やってみること
- エラーが出ている表を1つ開く
まずエラーの種類を見てください。
#N/A#DIV/0!なのか、#REF!#NAME?なのか。 #REF!や#NAME?があれば、消さずに直す参照が壊れているか、式を打ち間違えています。IFERRORで隠してはいけない方です。
#N/A#DIV/0!で、原因が「未入力」なら囲む=IFERROR(元の式, "")の形にします。まず1行だけ試してください。- 合計が変わっていないか確認する
消す前と後で合計を見比べます。変わっていたら、消してはいけないものを消しています。
最後の確認が一番大事です。見た目がきれいになったかではなく、数字が合っているかを見てください。
次に読むとよい記事
- 「空なら空欄」の作り方 → IF関数の使い方
#N/Aだけを拾いたいとき → IFNA関数の使い方(近日公開)- そもそも
#N/Aが出る表引きの仕組み → XLOOKUP関数の使い方 #VALUE!の原因になる文字の混入を直す → TRIM関数の使い方- 条件が3つ以上に分かれるとき → IFS関数の使い方(近日公開)
「エラーが出ているけれど、原因が分からないので放置している」というファイルがあれば、拝見すれば原因は特定できます。現状のヒアリングと課題整理は無料です。
この記事について
SUPRAXは、林業・製造・運送の現場経験をもとに、中小企業の業務改善・AI活用・GISの支援を行っています。 記事の内容について「うちの場合はどうか」を聞きたい方は、無料相談をご利用ください。
あわせて読みたい
IF関数の使い方|「空なら空欄」で表をきれいに保つ
式を入れた表を印刷したら、まだ何も入力していない行に 0 やエラーがずらっと並んでいた。 Excelを使っていれば一度は経験するはずです。数字としては正…
XLOOKUP関数の使い方|品番から品名と単価を自動で出す
伝票や日報を作るとき、品番を見ながら品名と単価をマスタから探して手で打ち込んでいませんか。 この作業は XLOOKUP(エックスルックアップ) を使うと…
TEXT関数と日付の処理|「2026/9/1」を「9月」にまとめる
「月ごとの売上を出してほしい」と言われて、明細表を開く。日付は1日単位で入っているので、そのままでは月でまとめられません。 手で「9月」と打っていくと、…