第13回:「#N/A」エラーを放置するな!IFERROR関数でプロの仕上がりに変える [AI]

こんにちは!大手企業の経理担当兼、Excel講師です。

VLOOKUP関数を覚えたての頃、誰もが一度は経験する「恥ずかしい失敗」があります。

一生懸命VLOOKUPで自動入力される請求書フォーマットを作り、上司に「これ使ってください!」とドヤ顔で提出しました。
しかし、上司が開口一番言ったのは、「……なんか、エラーだらけで見にくいね」の一言。

そう、VLOOKUP関数は、検索値(コードなど)が空欄だったり、見つからなかったりすると、無慈悲に「#N/A(該当なし)」というエラー表示を返します。
画面が「#N/A」で埋め尽くされていると、まるで作りかけの不良品のように見えてしまいます。

第13回のテーマは、このエラー表示をきれいに隠す「IFERROR(イフ・エラー)関数」です。
これを使うだけで、あなたの作るExcelファイルは一気に「プロのツール」へと進化します。

経理Excel
経理Excel

なぜ経理でこのスキルが必要なのか

「エラーが出ていても、数字を入力すれば消えるからいいじゃないか」と思いますか?
経理の実務において、エラー表示(#N/A, #VALUE!, #DIV/0! など)を放置することは、以下の3つの理由でNGです。

  1. 美意識の問題(信頼性):
    取引先に送る見積書に「#N/A」が印刷されていたら、「この会社の管理体制は大丈夫か?」と疑われます。
  2. 計算の連鎖エラー:
    単価欄が「#N/A」だと、それを掛け算した合計金額欄も「#N/A」になり、合計欄もエラーになり…と、シート全体が機能不全に陥ります。
  3. 検算の邪魔:
    本当のミス(数式の間違いなど)が、放置されたエラーに埋もれて発見できなくなります。

「エラーが出たら、代わりに空白を表示する(あるいは『0』を表示する)」。
この処理を仕込んでおくことは、使う人への最高のおもてなし(ユーザービリティ)なのです。

【実践】今回のサンプル成果物

今回は、前々回作成したVLOOKUP付きの請求書フォーマットを使います。
コード入力欄が空欄の時、現状ではエラーが出てしまっています。これを修正しましょう。

練習用サンプルデータ

以下の表をコピーして、ExcelのA1セルに貼り付けてください。
※E列のコード入力欄が空欄になっているため、F列とG列がエラーになっている状態です。

コード商品名(マスタ)単価(マスタ)入力欄(ID)商品名(VLOOKUP)単価(VLOOKUP)
A01鉛筆100A01鉛筆100
A02消しゴム50#N/A#N/A
B01ノート150#N/A#N/A
B02定規200#N/A#N/A
C01ファイル300C01ファイル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」になっていますね。
この数式を修正します。

  1. F3セルをダブルクリック(または F2 キー)して編集モードにします。
    現在は =VLOOKUP(E3, $A$2:$C$6, 2, 0) となっています。
  2. = の直後にカーソルを合わせ、IFERROR( と入力します。
  3. 数式の最後にカーソルを移動します。
  4. カンマ , を打ちます。
  5. 「エラーの時に何を表示するか」を指定します。
    今回は何も表示させたくないので、ダブルクォーテーション2つ "" を入力します。
    (これがExcel語で「空白」という意味です)
  6. 括弧を閉じます )

完成した数式:
=IFERROR(VLOOKUP(E3, $A$2:$C$6, 2, 0), "")

Enterキーを押すと、どうなりましたか?
「#N/A」が消えて、きれいな空欄になりました!

Step 2. 単価欄は「0」を表示させない工夫

次にG列(単価)です。
ここも空白("")にしても良いのですが、もし計算式(単価×数量)がある場合、空白だと計算エラーになることがあります。
金額の欄などは、エラー時に 0 を表示させたい場合もあります。

  1. G3セルを編集します。
    =VLOOKUP(E3, $A$2:$C$6, 3, 0)
  2. = の後に IFERROR( を追加。
  3. 最後に , 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は、常にセットで使う「ニコイチ」の関係だと思ってください。

次回は、さらに入力ミスを減らすための機能「ドロップダウンリスト(入力規則)」をご紹介します。
コードを手打ちするのではなく、リストから選べるようにすれば、そもそもエラーなんて起きなくなりますよね? お楽しみに!


📊経理のExcel 虎の巻[AI]未経験から経理職を目指す方、そして実務での効率化に悩む現役経理担当の方へ。 このページは、経理の実務現場で本当に必要なExcelスキルを、体系的に学ぶための完全ロードマップです。…
続きを読む
 zesys.net
📊経理のExcel  虎の巻[AI]


※本ブログはこの一文以外は、AIによる記載です。内容にウソが含まれている可能性がありますので、ご注意ください。写真もAIで作成しています。

是非フォローしてください

最新の情報をお伝えします

広告

迷子探偵やもやも [AI]

探偵はいつも迷子ですw

シェアする