IFERROR関数とは
IFERROR関数は、エラーが出たときだけ表示を切り替えるための関数です。
Excelでは、たった1件の想定外データがあるだけでエラーが表示されます。IFERRORを使うことで、表全体が壊れるのを防ぎ、実務で扱いやすいシートを作ることができます。
IFERROR関数を知らないと初心者が詰む理由
初心者がExcelでつまずく最大の原因は、「式が合っているのに突然エラーが出る」ことです。
MID関数やFIND関数などの文字操作では、
- 空白セルがある
- 想定と違う形式のデータが混じる
- 探している文字が存在しない
といった理由で、簡単に #VALUE! などのエラーが発生します。
Excelは人間のように「今回は無視しよう」と判断してくれません。1件でも処理できないデータがあると、容赦なくエラーを表示します。
この仕様を知らないと、
- Excelが壊れたと思う
- 自分の操作が間違っていると感じる
- 文字関数そのものが苦手になる
という状態に陥ってしまいます。
IFERROR関数の基本構文
=IFERROR(数式, エラー時の表示)
| 引数 | 内容 |
|---|
| 数式 | 通常時に実行したい計算や関数 |
| エラー時の表示 | エラーが出た場合に表示する内容 |
IFERRORの基本例
例:FIND関数のエラーを防ぐ
=IFERROR(FIND("@", A2), "")
「@」が見つかる場合は位置を表示し、見つからない場合は空白になります。
MIDやFINDでIFERRORが必須な理由
文字操作関数は、実務では必ずと言っていいほど想定外のデータに遭遇します。
例えばメールアドレスの処理では、
- 正しいメール形式
- 空欄
- メールでない文字列
が混在するのが普通です。
そのままMIDやFINDを使うと、エラーが発生して表全体が使い物にならなくなります。
そこで、IFERRORで数式全体を包むことで「失敗しても止まらない表」を作ることができます。
MID × FIND × IFERROR の王道パターン
例題:メールアドレスからドメインを抜き出す
以下のような表があるとします。B列にドメインを表示させたい場合を考えます。

作成する数式
=IFERROR(MID(A1, FIND("@", A1)+1, 99), "")
使う関数の役割
FIND("@", A1): “@” が左から何文字目にあるかを探します。MID(A1, 開始位置, 文字数): 指定した位置から文字を切り出します。IFERROR(数式, エラー時の値): “@” がなかった場合にエラー(#VALUE!)が出るのを防ぎます。
この形を覚えておくと、文字処理の実務でほぼ困りません。
数式の解説
1. FIND(“@”, A1) + 1
yamada@example.comの場合、”@” は7文字目です。- ドメインは “@” の次から始まるので、
+1をして「8文字目から取り出す」という指示にします。
2. MID(A1, 8, 99)
- 8文字目から、とりあえず多めの「99文字」分を切り出します(実際の文字数が99文字未満なら、最後まで取り出してくれます)。
- これで
example.comが抽出されます。
3. IFERROR(…, “”)
- もしセルに “@” が含まれていない場合、
FIND関数がエラーを返します。 - そのままでは見た目が悪いので、エラーの代わりに「空白」を表示させます。
応用編:特定の記号「[ ]」に囲まれた中身を出す
例えば [重要] 会議資料.pdf という文字列から 重要 だけを抜きたい場合はこうなります。
=IFERROR(MID(A1, FIND("[", A1) + 1, FIND("]", A1) - FIND("[", A1) - 1), "")
- 開始位置:
[の次の文字 - 文字数:
]の位置から[の位置を引いて調整
IFERRORは「エラーを隠す関数」ではない
初心者ほど「エラーを隠すのは良くない」と感じがちですが、実務では逆です。
- データは常に完璧ではない
- 入力ミスや欠損は必ず発生する
- 表は止まらずに動くことが最優先
IFERRORは、想定外を想定するための実務必須関数です。
IF+ISNUMBERとの役割の違い
| 関数 | 役割 |
| ISNUMBER | 数値かどうかを判定する |
| IF | 条件によって処理を分ける |
| IFERROR | エラーが出た場合の保険 |
実務でよく使う組み合わせ
=IFERROR(IF(ISNUMBER(FIND("@", A1)), LEFT(A1, FIND("@", A1)-1), ""), "")
この数式は、「もし@が含まれていたら、その左側を全部抜き出す。そうでなければ空白にする」という動きをします。

この数式では、
- FINDが成功するかをISNUMBERで判定
- FIND(“@”, A2):”@” が何文字目にあるか探します(例:
suzuki@...なら 7)。 - ISNUMBER(…):FINDの結果が「数字」かどうか判定します。@があればTRUE(正)、なければエラーになります。
2. 条件に応じて処理を分岐
IF(ISNUMBER(…), LEFT(A2, FIND(…)-1), “”)
- TRUEの場合:
LEFT関数で、@の直前(7-1=6文字目)までを抜き出します。 - FALSEの場合: 何もせず空白
""を返します。
2. 最後にIFERRORで全体を保護
- IFERROR(…, “”):万が一、想定外のエラーが起きても画面を汚さないための最終ガードです。
という流れになっています。

IFERRORで解決できる関数たち
👉よくあるトラブル「#N/A」エラーが出た!どうする?VLOOKUPIFERRORで包む方法
MIDとLEFTの違い・使い分け
MID を使った抽出と、今回の LEFT を使った抽出では、狙いが少し違います。
| 特徴 | (MID × FIND) | (LEFT × FIND) |
| 得意なこと | 特定の記号の「間」を抜く | 文字の「先頭」から特定位置まで抜く |
| 主な用途 | ドメイン、カッコ内、住所の市区町村 | ユーザー名、氏名(苗字のみ)、商品ID |
| 今回の強み | シンプルに「右側」を指定 | ISNUMBER で「記号の有無」を厳格にチェック |
さらにステップアップするなら
上の数式は非常に丁寧ですが、実はもっと短く書くこともできます。
=IFERROR(LEFT(A2, FIND("@", A2)-1), "")
これだけで、 MID と同じような挙動になります。あえて IF(ISNUMBER(...)) を入れているのは、「@がない場合にエラーを出すのではなく、明確に『””(空白)』を返したい」という設計思想があるからです。
初心者が覚えるべき正しい順番
- まず関数を書く
- 想定外のデータを考える
- 最後にIFERRORで包む
「エラーを止めない設計」を先に覚えることが重要です。
まとめ
IFERROR関数を知っているかどうかで、Excelの難易度は大きく変わります。
- IFERRORを知らないと、初心者はExcelが怖くなる
- IFERRORを知ると、失敗しても大丈夫な道具になる
文字関数を使うなら、IFERRORは必須です。MID・FIND・LEFTとセットで覚えることで、実務で通用するExcelスキルが身につきます。



運営者プロフィール
パソコンインストラクターの経験を生かして、シニアの方や初心者の方に、WordやExcelの「できた!」を届けるために活動しています。