Excel初心者

【Excel】IFERROR関数の使い方|エラーを空白や0に変換する方法&実務活用例5選

しんたろ。

ExcelのIFERROR関数とは、数式がエラーになった場合に、指定した値に置き換えて表示する関数です。

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

たとえば、VLOOKUPで「#N/A」エラーが出てしまう場合や、割り算で「#DIV/0!」エラーが表示される場合に、IFERROR関数を使えばエラーの代わりに空白や0、任意のメッセージを表示できます。

この記事では、IFERROR関数の基本的な使い方から、VLOOKUPやINDEX/MATCHとの組み合わせ、ISERROR・IFNAとの違い、実務で使える活用例5選までを初心者にもわかりやすく解説します。

Excelで数式を使っていると、必ずと言っていいほどエラーに遭遇します。IFERROR関数はそんなエラーを一発で解決してくれる、Excel初心者が最初に覚えるべき関数の1つですよ。

この記事でわかること
  • IFERROR関数の基本的な書き方と使い方
  • エラーを空白や0に変換する具体的な方法
  • VLOOKUPのエラーをIFERROR関数で処理する方法
  • 実務で使えるIFERROR関数の活用例5選
  • IFERROR・ISERROR・IFNAの違いと使い分け
  • IFERRORが効かない場合のトラブルシューティング
この記事の目次
  1. IFERROR関数とは
  2. Excelのエラーの種類一覧
  3. IFERROR関数の基本的な使い方【STEP形式】
  4. エラーを空白にする方法【小技】
  5. 実務で使えるIFERROR関数の活用例5選
  6. IFERROR vs ISERROR vs IFNA の違い【比較表】
  7. よくあるトラブルと解決方法
  8. IFERROR関数の処理をVBAで自動化する方法
  9. よくある質問(FAQ)
  10. まとめ
  11. LINEでExcelを気軽に学べる
  12. 関連記事

IFERROR関数とは

IFERROR関数は、数式の結果がエラーかどうかを判定し、エラーの場合に代替の値を返す関数です。Excel 2007以降のすべてのバージョンで使用できます。

構文(書式)

=IFERROR(値, エラーの場合の値)
引数説明必須/任意
エラーかどうかをチェックする数式やセル参照必須
エラーの場合の値エラーだった場合に表示する値(文字列、数値、空白””など)必須

動作の仕組み

=IFERROR(C5/D5, "入荷がありません。")
  1. まず C5/D5 を計算する
  2. 結果がエラーでなければ → 計算結果をそのまま表示
  3. 結果がエラーであれば → 「入荷がありません。」を表示

IFERROR関数は「IF(もし)ERROR(エラー)なら」という意味です。名前のとおり、エラーの場合だけ別の値を表示する、とてもシンプルな関数ですよ。

Excelのエラーの種類一覧

IFERROR関数で処理できるエラーは全部で7種類あります。どのエラーがどんな原因で発生するか把握しておくと、トラブル対処がスムーズになります。

エラー原因よくある発生場面
#DIV/0!0(ゼロ)で割り算した売上÷数量の計算で数量が0
#N/A検索値が見つからないVLOOKUPで該当データなし
#VALUE!データ型が不正数値と文字列を計算しようとした
#REF!参照先が無効参照しているセルが削除された
#NAME?関数名やセル名が不正関数名のスペルミス
#NUM!数値が不正計算結果が大きすぎる/小さすぎる
#NULL!セル範囲の指定が不正範囲指定で「:」の代わりに半角スペースを使った

ポイント: IFERROR関数は上記7種類すべてのエラーを処理できます。特定のエラーだけを処理したい場合は、後述するIFNA関数やISERROR関数を使い分けてください。

IFERROR関数の基本的な使い方【STEP形式】

IFERROR関数を使って、割り算のエラーを処理する基本的な手順を説明します。

STEP 1: エラーが出ている数式を確認する

まず、エラーが発生している数式を確認します。

例として、「消耗品の経費(C列)÷ 入荷数(D列)」の計算で、入荷数が0のセルに #DIV/0! エラーが出ているケースを見てみましょう。

=C5/D5   → #DIV/0!(D5が0のため)
IFERROR関数 STEP1 エラー確認

STEP 2: IFERROR関数で数式を囲む

エラーが出ている数式を、IFERROR関数で囲みます。

=IFERROR(C5/D5, "入荷がありません。")
IFERROR関数 STEP2 数式を囲む

STEP 3: エラー時の表示を確認する

Enter キーを押すと、エラーの代わりに「入荷がありません。」が表示されます。正常な計算結果のセルはそのまま数値が表示されます。

IFERROR関数 STEP3 結果確認

たった1行の数式でエラーが消えましたね。既存の数式をIFERROR()で囲むだけなので、とても簡単です。

エラーを空白にする方法【小技】

エラーを文字列ではなく空白(何も表示しない)にしたい場合は、第2引数にダブルクォーテーション2つ "" を指定します。

=IFERROR(C5/D5, "")
数式エラー時の表示
=IFERROR(C5/D5, "入荷がありません。")入荷がありません。
=IFERROR(C5/D5, "")(空白)
=IFERROR(C5/D5, 0)0
=IFERROR(C5/D5, "-")

実務では "" で空白にするパターンが一番よく使われます。見た目がスッキリして、表の見栄えが良くなりますよ。

実務で使えるIFERROR関数の活用例5選

例1: VLOOKUPのエラーを非表示にする

VLOOKUPで検索値が見つからない場合に表示される #N/A エラーをIFERRORで処理します。

=IFERROR(VLOOKUP(A2, 商品マスタ!A:C, 3, FALSE), "該当なし")
A列(商品コード)VLOOKUP結果IFERROR適用後
P001りんごりんご
P002みかんみかん
P999#N/A該当なし

使いどころ: 商品マスタとの照合、社員名簿の検索、在庫管理表の参照など

関連: Excel VLOOKUP関数の使い方

例2: 割り算の#DIV/0!エラーを処理する

割り算で分母が0の場合に表示される #DIV/0! エラーを処理します。

=IFERROR(B2/C2, 0)

使いどころ: 売上達成率の計算(目標が0の場合)、原価率の計算、平均値の計算など

例3: IFERRORの入れ子(ネスト)で複数の検索を行う

1つ目のVLOOKUPでエラーが出たら、2つ目のVLOOKUPで別のテーブルを検索する、というように複数の検索を順番に実行できます。

=IFERROR(VLOOKUP(A2, テーブル1, 2, FALSE), IFERROR(VLOOKUP(A2, テーブル2, 2, FALSE), "どちらにもなし"))

動作の流れ:

  1. まずテーブル1を検索
  2. 見つからなければ(#N/A)→ テーブル2を検索
  3. テーブル2にもなければ → 「どちらにもなし」を表示

使いどころ: 複数の商品マスタを横断検索、本社/支社の社員名簿を順番に検索

例4: IFERRORとINDEX/MATCHの組み合わせ

VLOOKUPの代わりにINDEX/MATCHを使う場合も、IFERRORの書き方は同じです。

=IFERROR(INDEX(B:B, MATCH(D2, A:A, 0)), "未登録")

メリット: INDEX/MATCHはVLOOKUPと違い、検索列が左側になくても検索できます。IFERRORで囲むことで、エラー処理も万全です。

関連: Excel VLOOKUP関数の使い方 | VLOOKUP複数条件の使い方

例5: 勤怠管理での活用(実務シーン)

勤怠管理表で、退勤時刻が入力されていない場合のエラーを処理します。

=IFERROR(C2-B2, "")
名前出勤(B列)退勤(C列)勤務時間
田中9:0018:009:00
佐藤9:00(未入力)(空白)
鈴木9:0017:308:30

使いどころ: 勤怠管理、日報作成、タイムカード集計など

私が製造業で働いていた時も、勤怠管理表でIFERROR関数は必須でした。退勤時間が入力されるまでエラーが表示されると見栄えが悪いので、IFERROR(計算式, “”)で空白にしておくと上司への提出もスムーズですよ。

IFERROR vs ISERROR vs IFNA の違い【比較表】

Excelにはエラーを処理する関数が複数あります。それぞれの違いと使い分けを比較表で確認しましょう。

項目IFERRORISERRORIFNA
機能エラーなら代替値を返すエラーかどうかをTRUE/FALSEで返す#N/Aエラーなら代替値を返す
対応エラー全7種類全7種類#N/Aのみ
書式=IFERROR(値, 代替値)=ISERROR(値)=IFNA(値, 代替値)
対応バージョンExcel 2007以降Excel 2003以降Excel 2013以降
単体で使えるかはい(代替値を直接返す)いいえ(IF関数と組み合わせが必要)はい(代替値を直接返す)
おすすめ場面汎用的なエラー処理(最も使う)エラーの有無だけ判定したい場合VLOOKUPの#N/Aだけ処理したい場合

ISERROR関数の使い方(参考)

ISERROR関数はTRUE/FALSEを返すだけなので、IF関数と組み合わせて使います。

=IF(ISERROR(C5/D5), "エラーです", C5/D5)

IFERROR関数ならこう書ける:

=IFERROR(C5/D5, "エラーです")

結論として、ほとんどの場合はIFERROR関数を使えばOKです。ISERRORは古いバージョンのExcelで使われていた方法で、IFERROR関数が登場してからはあまり使う場面がありません。IFNA関数は「#N/Aエラーだけ処理して、他のエラーはそのまま表示したい」という特殊なケースで使います。

よくあるトラブルと解決方法

IFERRORが効かない場合

IFERRORを使っているのにエラーが表示される場合、以下の原因が考えられます。

症状原因解決方法
エラーがそのまま表示されるIFERROR関数の外でエラーが発生数式全体をIFERROR()で囲んでいるか確認
「#NAME?」エラーが出るIFERROR関数のスペルミス関数名が「IFERROR」であることを確認
意図しない値が返る正常な値もエラーとして処理される数式を分解して、どの部分でエラーが出ているか確認
空白セルが「0」になるIFERROR関数の問題ではなく、参照先の問題空白セルを参照する数式を見直す

エラーの種類別の対処法

エラー原因と対処法
#DIV/0!分母が0 → =IFERROR(A1/B1, 0)
#N/A検索値なし → =IFERROR(VLOOKUP(...), "該当なし")
#VALUE!データ型不一致 → 参照セルのデータ型を確認
#REF!参照先削除 → Ctrl+Zで元に戻す or 参照先を修正
#NAME?関数名ミス → スペルを確認、全角文字が混じっていないか確認

IFERROR関数の処理をVBAで自動化する方法

IFERROR関数の代わりにVBAマクロを使えば、エラーセルの検出と一括処理を自動化できます。

' エラーセルを自動検出して処理するマクロ
Sub エラー自動処理()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    Dim cell As Range
    For Each cell In ws.Range("C2:C6")
        If IsError(cell.Value) Then
            cell.Value = "該当なし"
            cell.Interior.Color = RGB(255, 243, 224)
        End If
    Next cell
    MsgBox "エラーセルの処理が完了しました"
End Sub
‘ エラーセルを自動検出して処理するマクロ
Sub エラー自動処理()
    Dim ws As Worksheet
    Set ws = ActiveSheet
    Dim cell As Range
    For Each cell In ws.Range(“C2:C6”)
        If IsError(cell.Value) Then
            cell.Value = “該当なし”
            cell.Interior.Color = RGB(255, 243, 224)
        End If
    Next cell
    MsgBox “エラーセルの処理が完了しました”
End Sub
下のデモで実行結果を確認できます
📊 売上レポート.xlsx – Excel
ABC
1 商品ID商品名単価
2 P001りんご150
3 P002みかん80
4 P003 #N/A 該当なし
5 P004ぶどう300
6 P005 #N/A 該当なし
準備完了 100%
✅ 2件のエラーセル(#N/A)が「該当なし」に自動変換されました!
☝ IFERROR関数の代わりにVBAでエラー処理を自動化できます

よくある質問(FAQ)

Q: ExcelのIFERROR関数とは何ですか?

A: IFERROR関数は、数式の結果がエラーかどうかを判定し、エラーの場合に指定した代替値を返す関数です。書式は =IFERROR(値, エラーの場合の値) です。Excel 2007以降のすべてのバージョンで使用できます。

Q: IFERROR関数でエラーを空白にするにはどうすればいいですか?

A: 第2引数にダブルクォーテーション2つ "" を指定します。例: =IFERROR(A1/B1, "") これでエラーの場合にセルが空白になります。

Q: IFERROR関数とISERROR関数の違いは何ですか?

A: IFERROR関数はエラーの場合に代替値を直接返せますが、ISERROR関数はTRUE/FALSEを返すだけなのでIF関数と組み合わせる必要があります。=IFERROR(A1/B1, 0)=IF(ISERROR(A1/B1), 0, A1/B1) は同じ結果になりますが、IFERROR関数のほうが短く書けます。

Q: IFERROR関数とIFNA関数はどう使い分けますか?

A: IFERROR関数は7種類すべてのエラーを処理しますが、IFNA関数は#N/Aエラーのみを処理します。VLOOKUPで「#N/A以外のエラーはそのまま表示させたい」場合はIFNA関数を使い、すべてのエラーを処理したい場合はIFERROR関数を使いましょう。

Q: IFERRORとVLOOKUPを組み合わせる方法は?

A: VLOOKUP関数をIFERROR関数の第1引数に入れます。例: =IFERROR(VLOOKUP(A2, B:C, 2, FALSE), "該当なし") これで検索値が見つからない場合に「該当なし」と表示されます。

Q: IFERROR関数はExcelのどのバージョンから使えますか?

A: IFERROR関数はExcel 2007から使用可能です。Excel 2003以前をお使いの場合は、代わりに =IF(ISERROR(値), 代替値, 値) の書式を使ってください。

Q: IFERROR関数で複数のエラーを別々に処理できますか?

A: IFERROR関数単体ではすべてのエラーに同じ代替値を返します。エラーの種類ごとに異なる処理をしたい場合は、ERROR.TYPE関数と組み合わせて使います。ただし、ほとんどの実務シーンではIFERROR関数で統一的に処理すれば十分です。

Q: IFERROR関数でエラーの場合に0を表示するには?

A: 第2引数に数値の 0 を指定します。例: =IFERROR(A1/B1, 0) エラーの場合にセルに0が表示されます。SUMやAVERAGEの計算対象にしたい場合は0を、計算から除外したい場合は空白 "" を指定してください。

Q: IFERROR関数が効かない場合の対処法は?

A: 最も多い原因は、IFERROR関数が数式全体を囲んでいないケースです。例えば =IFERROR(A1, 0)/B1 ではなく =IFERROR(A1/B1, 0) のように、エラーが発生する可能性のある計算全体をIFERROR関数で囲んでください。

まとめ

IFERROR関数のポイントをおさらいしましょう。

ポイント内容
書式=IFERROR(値, エラーの場合の値)
対応エラー全7種類(#DIV/0!, #N/A, #VALUE!, #REF!, #NAME?, #NUM!, #NULL!)
エラーを空白にする=IFERROR(数式, "")
エラーを0にする=IFERROR(数式, 0)
VLOOKUP対策=IFERROR(VLOOKUP(...), "該当なし")
対応バージョンExcel 2007以降(Excel 2003以前はISERROR+IF)
使い分け全エラー処理→IFERROR、#N/Aのみ→IFNA

IFERROR関数はExcelのエラー処理において最も汎用的で使いやすい関数です。まずはVLOOKUPや割り算でエラーが出ている箇所に =IFERROR(数式, "") を適用してみてください。

IFERROR関数を覚えると、Excelの見栄えが一気に良くなりますよ。上司に提出する資料でエラーが表示されていると「ちゃんと確認したの?」と言われがちですが、IFERROR関数で処理しておけば安心ですね。

期間限定でChatGPT✖️Googleスプレットシートのコンテンツ配布中!

LINEでExcelを気軽に学べる

しんたろ。
しんたろ。
Excel歴10年以上 → アプリ開発者
Profile
大手メーカーに15年以上勤務。製造部門で海外拠点の立ち上げ支援や、現場責任者として採算管理・納期管理・設備オペレートを経験。 2023年にDX人材育成プログラム第1期生として活動後、現在は製造現場のスケジュール運用を支えるアプリの企画・開発をメインに活動中。工程表示表作成の内製化SaaSを構築し、年間1,300万円のコスト改善を実現。 Excelによる業務改善で年間240時間の残業削減を達成した経験を活かし、ブログやSNSでも情報発信しています。
プロフィールを読む

関連記事


Excelスキルを活かしてSNS運用も自動化しませんか?

Excelの関数をマスターしたあなたなら、Googleスプレッドシート×GAS(Google Apps Script)を使ったSNS自動化ツールもすぐに使いこなせます。X(Twitter)やThreadsの予約投稿を、月額0円で自動化する方法をまとめています。

SNS予約投稿ツール完全ガイド|無料&買い切りツールを徹底比較

ABOUT ME
しんたろ。
しんたろ。
Excel歴10年以上 → アプリ開発者
大手メーカーに15年以上勤務。製造部門で海外拠点の立ち上げ支援や、現場責任者として採算管理・納期管理・設備オペレートを経験。 2023年にDX人材育成プログラム第1期生として活動後、現在は製造現場のスケジュール運用を支えるアプリの企画・開発をメインに活動中。工程表示表作成の内製化SaaSを構築し、年間1,300万円のコスト改善を実現。 Excelによる業務改善で年間240時間の残業削減を達成した経験を活かし、ブログやSNSでも情報発信しています。
記事URLをコピーしました