第13回:「#N/A」エラーを放置するな!IFERROR関数でプロの仕上がりに変える [AI]
こんにちは!大手企業の経理担当兼、Excel講師です。
VLOOKUP関数を覚えたての頃、誰もが一度は経験する「恥ずかしい失敗」があります。
一生懸命VLOOKUPで自動入力される請求書フォーマットを作り、上司に「これ使ってください!」とドヤ顔で提出しました。
しかし、上司が開口一番言ったのは、「……なんか、エラーだらけで見にくいね」の一言。
そう、VLOOKUP関数は、検索値(コードなど)が空欄だったり、見つからなかったりすると、無慈悲に「#N/A(該当なし)」というエラー表示を返します。
画面が「#N/A」で埋め尽くされていると、まるで作りかけの不良品のように見えてしまいます。
第13回のテーマは、このエラー表示をきれいに隠す「IFERROR(イフ・エラー)関数」です。
これを使うだけで、あなたの作るExcelファイルは一気に「プロのツール」へと進化します。
![第13回:「#N/A」エラーを放置するな!IFERROR関数でプロの仕上がりに変える [AI] 1 経理Excel](https://zesys.net/blog/wp-content/uploads/2025/11/経理Excel-300x200.png)
なぜ経理でこのスキルが必要なのか
「エラーが出ていても、数字を入力すれば消えるからいいじゃないか」と思いますか?
経理の実務において、エラー表示(#N/A, #VALUE!, #DIV/0! など)を放置することは、以下の3つの理由でNGです。
- 美意識の問題(信頼性):
取引先に送る見積書に「#N/A」が印刷されていたら、「この会社の管理体制は大丈夫か?」と疑われます。 - 計算の連鎖エラー:
単価欄が「#N/A」だと、それを掛け算した合計金額欄も「#N/A」になり、合計欄もエラーになり…と、シート全体が機能不全に陥ります。 - 検算の邪魔:
本当のミス(数式の間違いなど)が、放置されたエラーに埋もれて発見できなくなります。
「エラーが出たら、代わりに空白を表示する(あるいは『0』を表示する)」。
この処理を仕込んでおくことは、使う人への最高のおもてなし(ユーザービリティ)なのです。
【実践】今回のサンプル成果物
今回は、前々回作成したVLOOKUP付きの請求書フォーマットを使います。
コード入力欄が空欄の時、現状ではエラーが出てしまっています。これを修正しましょう。
練習用サンプルデータ
以下の表をコピーして、ExcelのA1セルに貼り付けてください。
※E列のコード入力欄が空欄になっているため、F列とG列がエラーになっている状態です。
| コード | 商品名(マスタ) | 単価(マスタ) | 入力欄(ID) | 商品名(VLOOKUP) | 単価(VLOOKUP) | |
|---|---|---|---|---|---|---|
| A01 | 鉛筆 | 100 | A01 | 鉛筆 | 100 | |
| A02 | 消しゴム | 50 | #N/A | #N/A | ||
| B01 | ノート | 150 | #N/A | #N/A | ||
| B02 | 定規 | 200 | #N/A | #N/A | ||
| C01 | ファイル | 300 | C01 | ファイル | 300 |
※もしF列・G列が文字(#N/A)として貼り付けられた場合は、練習のためにF2セルに以下のVLOOKUP数式を入れて、下までコピーしてください。=VLOOKUP(E2, $A$2:$C$6, 2, 0)
手順解説:関数を「サンドイッチ」にする
IFERROR関数は、単独で使うものではありません。
既存の数式(VLOOKUPなど)を外側から包み込んで使います。
=IFERROR( 数式 , エラーの時に表示したいもの )
Step 1. 商品名の「#N/A」を消す
F3セル(空欄行の商品名欄)を見てください。「#N/A」になっていますね。
この数式を修正します。
- F3セルをダブルクリック(または
F2キー)して編集モードにします。
現在は=VLOOKUP(E3, $A$2:$C$6, 2, 0)となっています。 =の直後にカーソルを合わせ、IFERROR(と入力します。- 数式の最後にカーソルを移動します。
- カンマ
,を打ちます。 - 「エラーの時に何を表示するか」を指定します。
今回は何も表示させたくないので、ダブルクォーテーション2つ""を入力します。
(これがExcel語で「空白」という意味です) - 括弧を閉じます
)。
完成した数式:=IFERROR(VLOOKUP(E3, $A$2:$C$6, 2, 0), "")
Enterキーを押すと、どうなりましたか?
「#N/A」が消えて、きれいな空欄になりました!
Step 2. 単価欄は「0」を表示させない工夫
次にG列(単価)です。
ここも空白("")にしても良いのですが、もし計算式(単価×数量)がある場合、空白だと計算エラーになることがあります。
金額の欄などは、エラー時に 0 を表示させたい場合もあります。
- G3セルを編集します。
=VLOOKUP(E3, $A$2:$C$6, 3, 0) =の後にIFERROR(を追加。- 最後に
, 0)を追加します。
完成した数式:=IFERROR(VLOOKUP(E3, $A$2:$C$6, 3, 0), 0)
これでエラーの時は「0」が表示されます。
もし「0」も見せたくない(空白に見せたい)場合は、表示形式(Ctrl+1)で「0を非表示にする設定(#,##0;-#,##0; など)」を使えば完璧です。
Step 3. オートフィルで反映
修正したF3、G3のセルを選択し、フィルハンドルをダブルクリックして全行に反映させましょう。
入力欄(E列)が空欄の行はすっきり空白に、入力がある行は正しく商品名が出る。
これがプロの作ったフォーマットです。
ベテラン経理の「ここだけの話」
IFERRORは魔法のように便利ですが、「何でもかんでも消せばいい」というわけではありません。
例えば、コードの入力ミス(A01をA001と打ったなど)でエラーが出た場合。
IFERRORで空白にしてしまうと、「入力ミスをしたことに気づかない(商品名が出ないまま進んでしまう)」というリスクがあります。
ですので、私は実務では以下のように使い分けています。
- 見積書などの出力用フォーマット:
見た目重視なので、""(空白)にする。 - 社内でのデータチェック用:
ミスに気づきたいので、"★該当なし★"や"確認!"という目立つ文字を表示させる。
=IFERROR(VLOOKUP(...), "★コード確認")
こうしておけば、エラーが一目瞭然ですよね。
「エラー=悪」ではなく、「エラー=メッセージ」として活用するのもテクニックの一つです。
まとめ
第13回では、エラー処理の必須関数 IFERROR を学びました。
- エラー表示(#N/Aなど)は、見た目も信頼性も損なう。
IFERROR(元の数式, エラー時の表示)で包み込む。- 空白にしたいなら
""、ゼロにしたいなら0を指定する。 - あえて
"該当なし"と表示させてアラートにする方法もある。
VLOOKUP(またはXLOOKUP)とIFERRORは、常にセットで使う「ニコイチ」の関係だと思ってください。
次回は、さらに入力ミスを減らすための機能「ドロップダウンリスト(入力規則)」をご紹介します。
コードを手打ちするのではなく、リストから選べるようにすれば、そもそもエラーなんて起きなくなりますよね? お楽しみに!
※本ブログはこの一文以外は、AIによる記載です。内容にウソが含まれている可能性がありますので、ご注意ください。写真もAIで作成しています。
是非フォローしてください
最新の情報をお伝えします