IFERROR関数の使い方・読み方|エラー表示を消す前に知っておくこと

執筆者:

カテゴリ:

IFERROR関数の使い方・読み方のイメージ

条件

IFERROR関数の使い方・読み方

Excel関数辞典

読み方:IFERROR は「イフエラー」と読みます。(一般的な読み方です。公式に読み仮名の定めはありません)

IFERRORは、数式がエラーになったとき、代わりの値を返す関数です。

使える環境Excel○Googleスプレッドシート○
このページの中身(21項目)
  1. 書式
  2. 基本の使い方
  3. 対象になるエラー
  4. 使ってはいけない場面
  5. 使っていい場面
  6. IFNAで絞り込む
  7. XLOOKUPなら包む必要がない
  8. エラーを消すことと、原因を直すことは別
  9. 包んでいい場面と、いけない場面
  10. エラーの種類ごとに扱いを変える
  11. 該当なしだけを対象にする
  12. エラーを見える形で管理する
  13. 隠す前に原因を潰す手順
  14. 「条件」の関数を全体から見る
  15. 数式を書く前の手順
  16. どの関数でも共通する確認
  17. 引き継ぐときに残すこと
  18. このサイトの収録状況
  19. よくある質問
  20. まとめ
  21. 関連する関数

この記事の書式と対応環境の出どころ(2026-08-26 確認)

関数の仕様は追加・変更されることがあります。書式が合わないときは、上の公式ページで最新をご確認ください。

#N/A や #DIV/0! が並んだ表は見栄えが悪く、その先の計算まで巻き込んでエラーにします。IFERRORで包めば一発で解決します。

ただし、この関数はエラーの原因ごと隠してしまうという副作用を持っています。使いどころを間違えると、間違った数字に気づけなくなります。

IFERROR関数の使い方の記事構成図
IFERROR関数の使い方:この記事で扱う内容

書式

=IFERROR(値, [エラーの場合の値])
引数内容
値通常時に表示したい数式
エラーの場合の値エラー時に返す値。省略すると空白

基本の使い方

=IFERROR(A2 / B2, 0)

B2が0や空欄なら #DIV/0! になりますが、IFERRORで包むと 0 が返ります。

何も表示したくないなら "" を指定します。

=IFERROR(A2 / B2, "")

原因を伝えたいなら、そのままメッセージを書けます。

=IFERROR(VLOOKUP(A2, マスタ!A:B, 2, FALSE), "マスタ未登録")

「何も出ない」より「未登録」と出るほうが、使う人にとって親切です。空白は原因が分かりませんが、メッセージなら次の行動が決まります。

IFERROR関数の使い方の要点図
IFERROR関数の使い方

対象になるエラー

IFERRORは、次のすべてを捕まえます。

エラー意味
#N/A検索して見つからなかった
#DIV/0!0で割った
#VALUE!引数の型が違う
#REF!参照先が無効
#NAME?関数名や名前の綴りが違う
#NUM!計算結果が扱える範囲外
#ERROR!数式の書き方が不正

ここが問題です

見つからなかっただけの #N/A も、関数名を打ち間違えた #NAME? も、参照が壊れた #REF! も、区別なく同じ値に置き換わります。

使ってはいけない場面

原因を確かめる前に包む

これが最も危険な使い方です。

=IFERROR(VLOOKUP(A2, マスタ!A:B, 2, FALSE), "")

一見きれいになりますが、本当は取得できるはずのデータが黙って消えている可能性があります。範囲指定のミス、検索キーの余分なスペース、列番号の間違い——これらが全部空白として処理されます。

手順としては、まずIFERROR無しで数式を書き、出たエラーの原因を特定してから包む。これを守ってください。

合計の中に紛れ込ませる

=SUM(IFERROR(A2:A100 / B2:B100, 0))

割れなかった行が0として合計されます。数字は出ますが、その0が「本当に0なのか」「計算できなかったのか」が区別できません。集計値の信頼性が落ちます。

検索の失敗を握りつぶす

マスタとの突合で #N/A が出るのは、マスタに無いデータがあるという重要な情報です。これを空白にすると、データの不備が見えなくなります。

むしろ #N/A は残しておき、件数を数えて監視するのが正しい運用です。

=COUNTIF(C2:C100, "#N/A")

使っていい場面

見つからないことが正常な場合

「該当があれば表示、無ければ空欄」が仕様として正しい場合。任意項目の突合などです。

分母が空欄になりうる場合

=IFERROR(売上 / 客数, "")

まだ入力されていない行で #DIV/0! が出るのは想定内です。

エラーの原因を特定し終えた後

原因を潰したうえで、残る想定内のエラーだけを整えるために使う。これが本来の用途です。

IFNAで絞り込む

#N/A だけを捕まえたいなら、IFNA を使います。

=IFNA(VLOOKUP(A2, マスタ!A:B, 2, FALSE), "未登録")

#N/A(見つからなかった)だけが置き換わり、#REF! や #NAME? はエラーのまま残ります。つまり、本当の不具合は表面化させたまま、想定内の空振りだけを整えられます。

IFERRORよりIFNAのほうが安全な場面は多いので、検索系ではまずIFNAを検討してください。

XLOOKUPなら包む必要がない

XLOOKUP は「見つからない場合」を4つ目の引数で直接指定できます。

=XLOOKUP(A2, マスタ!A:A, マスタ!B:B, "未登録")

これはIFNAと同じく、見つからなかったケースだけを扱います。範囲指定のミスはエラーとして出ます。書き方も短く、安全性も高い。検索でエラー処理が要るなら、まずXLOOKUPを検討してください。


エラーを消すことと、原因を直すことは別

IFERRORは便利な関数ですが、使い方を誤ると表計算のファイルを壊れやすくします。この関数がやっているのは、エラーが出たときに別の値を返すことだけです。エラーが出た原因は何も解決していません。表示が消えるだけです。

問題は、エラーが「何かがおかしい」という唯一の合図であることです。検索が見つからない、参照先が消えた、割る数がゼロになっている。こうした異常を、表計算は自分から教えてくれません。エラー表示だけが手がかりです。それをIFERRORで包んでしまうと、異常が起きていることに誰も気づかなくなります。

実際に起きる事故はこうです。マスタから商品名を引く数式をIFERRORで包み、見つからないときは空欄が出るようにしていた。ある日、マスタの並び順が変わって参照範囲がずれたが、空欄になるだけなので誰も気づかない。数か月後、集計値が合わないことが発覚したときには、どこから間違っていたのか追えなくなっている。

したがって、順番が大事になります。まず数式を書く。エラーが出たら、なぜ出たのかを確かめて直す。正しく動くことを確認する。そのうえで、業務上どうしても表示させたくないエラーだけをIFERRORで包む。この順番を守れば、IFERRORは安全に使えます。


包んでいい場面と、いけない場面

包んでいいのは、エラーが出ることが正常な動作である場合です。

たとえば、入力欄がまだ空のときに計算式がゼロ除算になる場合。入力されていないのだから計算できないのは当然で、エラーではなく空欄を表示するほうが自然です。この場合は、そもそもIF関数で空欄を先に判定するほうが意図が明確になります。

もうひとつは、検索の対象がまだ登録されていない場合です。新規の商品コードを入力した直後は、マスタに存在しないのでエラーになります。これは想定内なので、未登録という表示を返すほうが親切です。空欄ではなく「未登録」という文字を返すようにすると、入力者が状況を理解できます。

一方、包んではいけないのは、エラーの原因が特定できていない場合です。なぜエラーが出るのか分からないまま包むのは、警告灯にテープを貼るのと同じです。原因が残ったまま、見えなくなるだけです。

また、複数の種類のエラーが起こりうる数式を丸ごと包むのも危険です。検索が見つからないことは想定内でも、参照先が消えていることは想定外です。この二つを同じように隠してしまうと、区別がつかなくなります。想定内のエラーだけを対象にできる関数を使うほうが安全です。


エラーの種類ごとに扱いを変える

表計算で出るエラーには種類があり、それぞれ意味が違います。区別できると、対処の精度が上がります。

該当なしを意味するエラーは、検索系の関数が返します。値が見つからなかったという事実を伝えているだけで、数式自体は正常です。想定内の場合が多く、専用の関数で個別に処理できます。

参照が無効というエラーは、参照先のセルや行が削除されたときに出ます。これは構造の破壊なので、隠してはいけません。必ず原因を直してください。

値が不適切というエラーは、文字列を数値として計算しようとしたときなどに出ます。データの型に問題があるので、元データを見直す必要があります。

名前が不明というエラーは、関数名の綴り間違いか、定義されていない名前を参照しています。単純なミスなので、すぐ直せます。

ゼロで割ったというエラーは、分母がゼロか空欄です。入力待ちなら想定内、そうでなければデータの問題です。

この五つを見分けられるだけで、対処の当たりがつくようになります。エラーを一括で隠すのではなく、種類ごとに扱いを決めるのが本来の姿です。


該当なしだけを対象にする

検索系の数式で使うなら、すべてのエラーを対象にするIFERRORより、該当なしだけを対象にする関数のほうが適しています。この関数を使えば、検索が見つからなかったときだけ別の値を返し、参照の破壊や型の不一致はそのままエラーとして表示されます。

つまり、想定内のエラーは隠し、想定外のエラーは見えるようにできます。これがもっとも安全な使い方です。

新しい検索関数を使える環境なら、そもそも包む必要がありません。見つからないときに返す値を、関数の引数として直接指定できるからです。数式が短くなるうえに、他のエラーを巻き込む心配もありません。書き換えられる箇所は、そちらに移していく価値があります。


エラーを見える形で管理する

エラーを隠すのではなく、管理する。この発想に切り替えると、ファイルの信頼性が上がります。

シートの上部に、エラーの件数を表示する数式を置きます。件数が変わったときだけ調べればよくなるので、日常的な監視の負担がありません。

条件付き書式で、エラーのセルに色を付けます。目立たせておけば、シートを見た瞬間に異常が分かります。エラー回避で隠すのとは正反対の発想ですが、実務ではこちらのほうが安全です。

種類ごとに件数を分けて表示する方法もあります。該当なしが増えたのか、参照の破壊が起きたのか。原因の当たりがつきます。

想定されるエラーと、想定外のエラーを分けて扱ってください。検索の該当なしは想定内かもしれませんが、参照の破壊は必ず異常です。前者だけを専用の関数で処理し、後者は表示させたままにします。

大きなファイルを引き継いだときも、まずこの仕組みを入れてください。エラーの分布を把握すれば、そのファイルがどれだけ健全かが分かります。


隠す前に原因を潰す手順

エラーが出たとき、隠す前にやるべきことがあります。順序を決めておけば迷いません。

第一に、エラーの種類を読みます。種類ごとに原因はほぼ決まっています。

第二に、数式を分解します。入れ子になっている場合、内側の部分だけを別のセルに取り出して実行してください。どこで失敗しているかが分かります。

第三に、データを確認します。型の違い、前後の空白、改行の混入。文字数を数えれば余計な文字の有無が分かります。

第四に、範囲を確認します。絶対参照が抜けてコピーでずれていないか。開始行が揃っているか。

第五に、想定内かどうかを判断します。原因が分かったうえで、それが業務上起こりうることなら、想定内です。起こってはいけないことなら、原因そのものを直します。

第六に、想定内のエラーだけを隠します。このとき、種類を限定できる関数を使ってください。すべてのエラーを一括で隠すと、想定外の異常まで見えなくなります。

この六段階を踏めば、隠すべきものと直すべきものを取り違えません。手順を飛ばして先に隠すと、後で必ず困ることになります。

「条件」の関数を全体から見る

条件は判定と分岐の関数群です。同じカテゴリの関数は、つまずく場所も似ています。この記事のほかに14本あります。

記事
AND
IF
IFNA
IFS
ISBLANK
ISERR
ISERROR
ISNA
ISNUMBER
ISTEXT
NOT
OR
SWITCH
XOR

このカテゴリで共通するつまずき

文字列は引用符で囲む必要があります。囲み忘れが最も多い間違いです。1つで理解した内容は、同じカテゴリの他の関数にもそのまま使えます。

どれを使うかの決め方

分岐が3つを超えたら、数式ではなく対応表を引く形にしてください。関数の一覧を眺めて選ぼうとすると、どれも当てはまるように見えて決まりません。

迷ったときは

→ 全関数の一覧 に目的別の索引があります。


数式を書く前の手順

書き始める前に決めておくことがあります。ここが曖昧なまま書くと、途中で行き詰まります。

1. 出したい結果を一文で書く

「何を、どの条件で、どんな形で出したいか」。この一文が書ければ、関数はほぼ決まります。書けないなら、まだ要件が固まっていません。

2. 元データの型を確認する

文字列は引用符で囲む必要があります。囲み忘れが最も多い間違いです。=ISNUMBER(A2) で数値かどうかを確認できます。見た目が同じでも、数値と文字列は別物です。

3. 空欄と0の扱いを決める

未入力なのか、実績が0なのか。表の意味が変わります。どちらとして扱うかを決めてから書いてください。

4. 条件の数を数える

分岐が3つを超えたら、数式ではなく対応表を引く形にしてください。将来条件が増える可能性があるなら、最初から複数条件に対応する形にしてください。

5. 共有先の環境を確認する

新しい関数は、古い環境で開くとエラーになります。社外に渡すファイルでは、この一点で選択肢が変わります。

6. 1行だけ書いて確認する

全行にコピーする前に、1行分の結果が正しいかを見てください。間違ったまま広げると、直す手間が増えます。


どの関数でも共通する確認

関数を問わず、結果がずれる原因は限られています。この5つを確認すれば、大半が解決します。

参照を固定したか

下方向にコピーする数式では、動いてはいけない参照を固定します。上の数行だけ見て判断しないでください。ずれは下のほうで表面化します。

範囲の行数が揃っているか

複数の範囲を渡す関数では、行数がずれると結果が狂います。エラーにならず値が返るため、気づきにくい種類の間違いです。

型が揃っているか

=ISNUMBER(A2)

数値として入っているかを判定します。システムから書き出したデータでは、これが原因のことが多くあります。

前後に空白が入っていないか

=LEN(A2)&" / "&LEN(TRIM(A2))

数が違えば、余分な空白が入っています。見た目では判別できません。

別の方法で検算したか

同じ数字を別の関数でも出して、突き合わせてください。1つの結果だけを見ても、正しいかどうかは判断できません。

最終行まで確認したか

一番下までスクロールして、結果を見てください。途中から値が変わっていないかを確認します。


引き継ぐときに残すこと

数式は動いていても、意図は残りません。渡す前に、次の点をシート内にメモしてください。3分で終わります。

何を出している数式か

一行で構いません。読めば分かると思っても、数か月後の自分には分かりません。

どの表を参照しているか

参照先のシート名と、更新の担当。別ファイルなら、その場所も書いてください。

該当しないときの扱い

空欄にしているのか、文言を出しているのか、エラーのまま残しているのか。書いていないと、受け取った側は空欄をデータなしと読みます。

触ってはいけない場所

列を挿入すると壊れる数式がある場合、必ず書き残してください。この一行があるだけで、引き継ぎ後の事故が大きく減ります。

使った関数の対応環境

新しい関数を使っている場合、古い環境では開けません。共有の範囲が広がる可能性があるなら、明記してください。

確定した期間は値にする

締めた月の集計は、値貼り付けにしてください。参照元を消しても壊れなくなり、ファイルも軽くなります。

このサイトの収録状況

現在、201本の記事をカテゴリ別に整理しています。関数名が分からない場合は、カテゴリから探してください。

カテゴリ記事数
目的別51本
集計47本
文字列31本
日付19本
検索・参照15本
条件15本 ←この記事
機能12本
配列・抽出10本
関数一覧1本

探し方の順番

関数名が分かっているなら検索窓から。やりたいことだけ決まっているなら「目的別」から。近い関数を比べたいなら、同じカテゴリの一覧から入ってください。

記事の構成

どの記事も、書式・実例・つまずきやすいところ・似た関数との使い分けを同じ順番で並べています。1本読めば、他の記事も同じ場所を探せます。


よくある質問

Q. IFERRORで包んだら計算が合わなくなりました

エラーのときにゼロを返していると、平均を出すときに件数に含まれてしまいます。平均も計算する表では、ゼロではなく空文字を返すほうが安全です。

Q. 空欄を返したのに、空白として扱われません

空文字は見た目には空欄ですが、空セルではありません。件数を数える関数では一件として数えられます。この違いでつまずくことがよくあります。

Q. 二重に包んでも大丈夫ですか

動作はしますが、数式が読みにくくなります。原因が複数あるなら、それぞれを分けて処理するほうが分かりやすくなります。

Q. 条件付き書式でエラーのセルに色を付けられますか

できます。エラーかどうかを判定する関数を条件にすれば、エラーだけを目立たせられます。包んで隠すより、この方法のほうが安全な場合もあります。

Q. エラーを一括で調べる方法はありますか

シート内のエラーを数える数式を用意しておくと便利です。件数が変わったときだけ調べればよくなります。

Q. 印刷のときだけエラーを隠せますか

ページ設定で、エラー値の印刷方法を指定できます。数式は変えずに、印刷結果だけ空欄にできます。

Q. 元データを直せない場合はどうすればいいですか

外部から取り込むデータで手を入れられない場合は、取り込んだ直後に整形する作業列を用意してください。数式の中で毎回処理するより保守しやすくなります。

Q. エラーが出ている数式を探せますか

ジャンプ機能で数式やエラーを含むセルだけを選択できます。シート全体を目で追う必要はありません。



まとめ

  • 書式は =IFERROR(値, エラー時の値)
  • すべての種類のエラーを区別なく置き換える
  • 原因を特定する前に包まない
  • 空白より「未登録」などのメッセージのほうが親切
  • #N/A だけなら IFNA、検索なら XLOOKUP の第4引数

関連する関数