どうも、くまおやぢです。
Excelで作った集計表に「#N/A」や「#VALUE!」がズラッと並んで、思わずため息をついた経験はありませんか?
先日もパートのおねえさんから、こんな相談を受けました。
「VLOOKUPを使ったら#N/Aって出てくんだけど。どうすればいいの?」
正直に言うと、わたし自身も以前やらかしています。VLOOKUP式を組んだ集計表を上司に送ったら、エラーが全部表示されたままだったんです。受け取った上司の顔は、今でも忘れられません。
でも、ご安心を。この記事では、そんな悲しい事故を防ぐ救世主「IFERROR関数」の使い方を、ステップバイステップで徹底解説します!
01. はじめに|VLOOKUPのエラー表示、毎回困っていませんか?
こんな場面で困っていませんか?
あなたも、こんな悩みを抱えていませんか。
- 「VLOOKUPを入れたら#N/Aだらけになって、印刷できる見た目じゃない」
- 「上司に送る前にエラーを消したいけど、毎回手作業で直している」
- 「エラーが出ると、自分が何か悪いことをしたみたいで怖い」
わたしも、まったく同じ場所でつまずきました。エラーは怖いものではありません。仕組みさえ分かれば、グッと楽に対処できます。
急いでいる人へ|IFERROR+VLOOKUPの最短手順3ステップ
時間がない方は、まずこの3ステップだけ覚えてください。
- 既存のVLOOKUP式を選択する
- 数式を
=IFERROR(VLOOKUP(...), "")の形で囲む - Enterで確定し、エラーが空白になっているか確認する
たったこれだけで、エラー表示がスッと消えます。詳しい解説は次の章から進んでいきましょう。
02. この記事でできること|IFERROR関数を学ぶ前に確認しよう
この記事で学べること
この記事を読み終えたあと、あなたは次のことができるようになります。
- IFERROR関数の基本構文を理解できる
- VLOOKUP・XLOOKUP・INDEX/MATCHにIFERRORを組み合わせられる
- 自分の集計表のエラー表示を、空白やハイフンに置き換えられる
- IFERRORで起きがちなトラブルを、自力で解決できる
「むずかしそう」と感じる必要はありません。コピペでそのまま使える式を、たっぷり用意しました。
動作確認済みの環境
この記事の内容は、以下の環境で動作確認しています。
| 項目 | 内容 |
|---|---|
| OS | Windows 10 / Windows 11 |
| Excel | Excel 2019 / Microsoft 365 |
| 必要な権限 | 一般ユーザー権限のみ(マクロ不要) |
特別な設定やアドインは必要ありません。次の章では、エラーの正体を見ていきましょう。
03. IFERROR関数の基礎知識|エラーとは何か、なぜ起きるのか
Excelの主なエラー一覧と意味
まずは敵を知るところから始めましょう。Excelのエラーは「悪者」ではなく、Excelからの「お知らせ」です。
| エラー表示 | 意味 | よくある原因 |
|---|---|---|
| #N/A | 値が見つからない | VLOOKUPの検索値が一覧にない |
| #VALUE! | 値の種類が違う | 数値の場所に文字が入っている |
| #DIV/0! | ゼロで割っている | 分母が空欄またはゼロ |
| #NAME? | 関数名のスペルミス | VLOKUP のような誤入力 |
| #REF! | 参照先がない | 参照していた行や列を削除した |
| #NULL! | 範囲指定の誤り | カンマやコロンの抜け |
このうち、VLOOKUPで一番よく見るのが#N/Aです。これは「検索した値が見つかりませんでした」というExcelからの正直なお返事にすぎません。
IFERROR関数の役割
IFERRORは、ひと言でいうと「エラーが出たら、別の値に置き換えてくれる関数」です。
たとえばVLOOKUPの結果が#N/Aになったとき、IFERRORで包んでおけば「空白」や「該当なし」に切り替えてくれます。エラー表示そのものを消す魔法のフタ、というイメージです。
次の章では、IFERROR関数の基本構文を見ていきます。
04. IFERROR関数の基本の使い方|書き方と3つの実例
基本の書き方
IFERROR関数の構文は、とてもシンプルです。
=IFERROR(値, エラーの場合の値)
引数は2つだけです。
- 値:チェックしたい数式(VLOOKUPなど)
- エラーの場合の値:エラーだったときに表示する内容
これだけ覚えれば、もう半分は理解できたようなものです。
よく使う3パターン
実務でよく使う3つの書き方を、コードブロックでまとめました。すべて任意のセル(例:B2セル)に貼り付けて動作確認できます。保存形式は通常の .xlsx でOKです。
パターン1:エラーを空白にする
=IFERROR(A2/B2, "")
割り算でゼロ除算が起きても、セルは空白のままになります。
パターン2:エラーをハイフンにする
=IFERROR(A2/B2, "-")
印刷した紙の見た目が、グッと整います。
パターン3:エラーを「該当なし」と表示する
=IFERROR(VLOOKUP(D2,商品マスタ,2,FALSE), "該当なし")
検索結果が見つからなかったことを、読み手にハッキリ伝えられます。
セルへの貼り付け方法と保存形式の注意点
操作はシンプルです。
- 数式を入れたいセルをクリックする
- 上記のコードを貼り付ける
- Enterで確定する
注意してほしいのは、全角の括弧やダブルクォートを使わないことです。Excelは半角しか受け付けません。コピペすると稀に全角に化けるので、確定後にエラーが出たら半角チェックをしてください。保存は通常の .xlsx のままで問題ありません。
次の章では、いよいよ本命の「IFERROR + VLOOKUP」を見ていきましょう。
VLOOKUP関数の書き方がまだ不安という方は、こちらの記事で基礎から確認しておきましょう。詳しくはこちらの記事をご覧ください→ 【VLOOKUP関数の完全ガイド|基本から応用・エラー対処まで】
05. 実務テク①|IFERROR + VLOOKUPの組み合わせ
なぜVLOOKUPはエラーを返すのか
VLOOKUPが#N/Aを返す原因は、ほぼ次の3つに絞られます。
- 検索値が一覧表に存在しない
- 検索値の前後に余計な空白が入っている
- 検索範囲の左端列に、検索したい列がない
つまり、#N/Aは「見つからないよ」というExcelの素直な答えです。怒られているわけではありません。
IFERROR + VLOOKUPの式テンプレート
これが、今日の主役です。動作確認環境はExcel 2019 / Microsoft 365。任意のセル(例:C2セル)に貼り付けて使えます。
=IFERROR(VLOOKUP(B2,商品マスタ!$A$2:$C$100,2,FALSE), "")
ポイントは、エラーのときに空文字(””) を返すよう指定している点です。これでセルは空白になり、印刷しても見た目がスッキリします。
ハイフン表示にしたい場合は、こちら。
=IFERROR(VLOOKUP(B2,商品マスタ!$A$2:$C$100,2,FALSE), "-")
入力後のチェックポイント3つ
式を入れたら、次の3つを必ず確認してください。
- 検索値(B2)の前後に余計な空白がないか
- 検索範囲が
$で固定されているか(コピペ時のズレ防止) - 列番号(上記なら
2)が正しい位置を指しているか
この3点さえ押さえれば、9割の事故は防げます。次の章では、VLOOKUP以外の関数との組み合わせを見ていきましょう。
06. 実務テク②|IFERROR + XLOOKUP / INDEX・MATCHへの応用
3つの関数×IFERRORの書き方比較表
VLOOKUP以外にも、IFERRORは仲良くできます。比較表でまとめました。
| 関数 | IFERRORとの組み合わせ例 | 特徴 |
|---|---|---|
| VLOOKUP | =IFERROR(VLOOKUP(...), "") | 一番有名。左端列で検索 |
| XLOOKUP | =IFERROR(XLOOKUP(...), "") | Microsoft 365で使える新型 |
| INDEX/MATCH | =IFERROR(INDEX(MATCH(...)), "") | 柔軟な参照ができる中級者向け |
XLOOKUPには本来 見つからない場合 という第4引数があります。ただ、IFERRORで統一しておくと、職場のメンバー全員が同じ書き方で読めるという利点があります。
XLOOKUP + IFERRORの式テンプレート
Microsoft 365環境で使えます。任意のセルに貼り付けてください。
=IFERROR(XLOOKUP(B2,商品マスタ!$A$2:$A$100,商品マスタ!$B$2:$B$100), "")
XLOOKUPは検索範囲と返却範囲を別々に指定するため、列を入れ替えても式が壊れにくいのが魅力です。
INDEX・MATCH + IFERRORの式テンプレート
VLOOKUPの「左端しか検索できない」制約を超えたいときに使います。
=IFERROR(INDEX(商品マスタ!$B$2:$B$100,MATCH(B2,商品マスタ!$A$2:$A$100,0)), "")
少し長く見えますが、構造は「INDEXで取り出す位置」を「MATCHで探す」というだけです。慣れるとVLOOKUPより自由度がグッと高まります。
INDEX/MATCH関数の詳しい使い方は、別記事でステップバイステップで解説しています。詳しくはこちらの記事をご覧ください→ 【INDEX MATCH関数をマスター!VLOOKUPとの違いと使い分け】
次の章では、IFERRORを使うときに陥りがちな落とし穴を見ていきましょう。
07. よくあるエラー・トラブルと対処法
ハマりどころ①|エラーが消えず結果が0や空白になる
- 症状:IFERRORを入れたのに、表示が「0」になってしまう
- 原因:エラーの場合の値に
0を指定している、または検索値と検索範囲の型が違う(文字列と数値) - 対処:第2引数を
""(空文字)に変更する。検索値が文字列なら、検索範囲も文字列に揃える
ハマりどころ②|IFERRORが正常値まで隠してしまう
- 症状:本来表示されるべき計算結果まで、空白になっている
- 原因:IFERRORで包む範囲が広すぎて、エラーではないエラー(数式の論理ミス)まで吸収している
- 対処:IFERRORは「最後の保険」として使う。式の内側を1つずつ動かして、まず正しい結果が出ることを確認してから包む
ハマりどころ③|IFERRORを入れ子にしすぎて数式が読めない
- 症状:
=IFERROR(IFERROR(IFERROR(...)))のような長大な式になる - 原因:複数の検索式をすべてIFERRORで重ねている
- 対処:表を2段階に分けて中間セルを作る。あるいはXLOOKUPの第4引数を使って入れ子を1段減らす
「やってはいけないこと」をひとつだけ。IFERRORを 計算結果のチェックなし にいきなり全セルへ広げないでください。本当に直すべきミスを見逃してしまいます。
次の章では、現場で実際に使われているシーンをご紹介していきます。
08. 実務での活用例|現場でよく使われるシーン3選
活用例①|商品コードで在庫一覧を照合するVLOOKUP表
新人さんが入力した商品コードを在庫マスタと照合するシーンです。コードが新規だったり打ち間違いだったりすると#N/Aが出ます。IFERRORで「未登録」と表示すれば、確認すべき行がひと目で分かります。
=IFERROR(VLOOKUP(A2,在庫マスタ!$A$2:$D$500,3,FALSE), "未登録")
活用例②|社員番号から氏名を取得するINDEX/MATCH表
人事部で社員番号から氏名を引っ張る表です。退職者の番号が残っていると#N/Aになります。IFERRORで空白に置き換えれば、印刷した名簿の見た目がグッと整います。
=IFERROR(INDEX(社員!$B$2:$B$1000,MATCH(A2,社員!$A$2:$A$1000,0)), "")
活用例③|月次集計で未入力セルのエラーを一括処理する
月次の売上集計で、未入力月にゼロ除算が発生するシーンです。前月比の計算では割り算が頻発します。IFERRORで包むだけで、未入力月はハイフン表示にできます。
=IFERROR(B2/C2, "-")
これだけで、上司への提出表が一気にプロっぽくなります。次の章では、今日の内容を振り返っていきましょう。
09. まとめ|今日からVLOOKUPにIFERRORを足してみましょう
振り返りチェックリスト
ここまでの内容を、5項目で振り返ります。
- [ ] IFERRORは「エラーを別の値に置き換える関数」だと理解した
- [ ] 基本構文
=IFERROR(値, エラーの場合の値)を覚えた - [ ] VLOOKUPをIFERRORで包む書き方を試した
- [ ] XLOOKUPやINDEX/MATCHにも応用できると知った
- [ ] ハマりどころ3つの対処法を確認した
ひとつでもチェックが入ったら、もう前進しています。
今日やること1つだけ
今日やってほしいことは、たったひとつだけ。
自分のExcelファイルを開き、VLOOKUP式が入っているセルをひとつ選んで、IFERRORで包んでみてください。
たった1セルでかまいません。最初から完璧を目指す必要はありません。「できた」という小さな実感が、明日のあなたの仕事をグッと楽にしてくれます。あせらず、くさらず、あきらめず。あなたなら大丈夫です。
次のステップ
慣れてきたら、次のステップにチャレンジしてみてください。
- XLOOKUPの第4引数(見つからない場合)を試してみる
- 条件付き書式と組み合わせて、未登録セルに色をつける
- INDEX/MATCH式を1本だけ書いてみる
そういう順番で少しずつ積み上げていくのが、長続きするやり方だとわたしは思っています。
あなたのフィードバックが、次の記事のヒントになります。「ここが分かりにくかった」「こんな使い方も知りたい」など、ぜひ教えてください。
それでは、今日も一日、お疲れさまでした。


コメント