【Excel】IFERRORでエラー時の表示を変える方法 | 空欄・0・IFNAの使い分け

【Excel】IFERRORでエラー時の表示を変える方法 | 空欄・0・IFNAの使い分け
🛡️ 超解決

ADVERTISEMENT

IFERRORはエラーの原因を直す関数ではない

=IFERROR(元の式,エラー時の値)は、元の式がエラーになったときに別の値を返します。未入力の表を空欄にしたり、検索できない場合に「未登録」と出したりできます。

ただし、式の壊れ方まで一緒に隠れる点に注意が必要です。まず元の式で正常なデータが計算できることを確認し、「何が起きたときに、何を表示するか」を決めてから使いましょう。

※ お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

空欄・0・説明文で意味が変わる

=IFERROR(A2/B2,"")ならエラー時は空の文字列、=IFERROR(A2/B2,0)なら数値の0を返します。=IFERROR(A2/B2,"要確認")なら読み手へ確認が必要だと伝えられます。

空の文字列は、セルから内容を削除した本当の空白ではありません。数式は残り、ISBLANKでは空白と判定されません。0は平均の個数にも含まれるため、見た目だけで代わりの値を選ばないでください。

VLOOKUPの検索失敗を処理する

商品コードA2をE2:F10で検索する式なら、=IFERROR(VLOOKUP(A2,$E$2:$F$10,2,FALSE),"未登録")と書けます。FALSEは完全一致です。範囲をコピーして使うときもE2:F10を固定します。

ところが、この式は参照先が壊れて#REF!になった場合も「未登録」にします。マスタにない場合だけ表示を変えたいなら、次のIFNAが適しています。未登録表示になったら、コードの前後の空白や、数値と文字列の違いも確認しましょう。

#N/Aだけを扱うならIFNAを使う

=IFNA(VLOOKUP(A2,$E$2:$F$10,2,FALSE),"未登録")は、#N/Aの場合だけ「未登録」を返します。#REF!や#VALUE!など、他のエラーはそのまま見えるため、式の不具合を見つけやすくなります。

IFERRORとIFNAは、初心者向け・開発者向けという区別ではありません。想定しているエラーの種類に合わせて選びます。IFERRORも、処理対象が明確な場合には短く読みやすい式になります。

予算0を達成率0へ置き換えない

実績A2=50、予算B2=0なら、A2/B2は計算できません。これをIFERRORで0にすると、「目標に対して実績が0%だった」と誤読されます。予算が未設定なのか、0という設定が正しいのかを確認する必要があります。

0の分母だけを区別するなら=IF(B2=0,"予算を確認",A2/B2)のように条件を明記します。比率の列を単純にSUMで合計しても、全体の達成率にはなりません。全体の実績合計を予算合計で割るなど、集計の定義も確かめてください。

実績50、予算0の比率は計算不能。IFERRORで0%と表示すると実績0と誤読されるため予算を確認する
計算できない比率と、実際に0%だった比率は区別します。

エラー処理を入れる前後で3例を検算する

  1. 正常なデータで、元の式と同じ結果になるか。
  2. 想定した未登録や分母0で、意図した表示になるか。
  3. 参照先の誤りなど、見逃したくないエラーを隠していないか。

性能の問題は、IFERRORという名前だけでは判断できません。元の検索範囲や式、件数によって負荷は異なります。重い場合は処理時間や参照範囲を調べ、原因を特定してから式を変えます。

表示を整えても確認が必要な行を残す

返す値 用途と注意
“” 表示は空欄。未処理の存在が見えにくい
0 数値として集計される。実績0と混同しない
“要確認” 入力やマスタ確認が必要な行を見つけやすい

完成したように見せるためだけにエラーを消さず、読み手が次に何をすればよいか分かる表示を選びましょう。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。
この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】