Excelを使っていると、数式を入力したときにエラー表示が出ることがあります。例えば、「#VALUE!」や「#NAME?」などのエラーコードが表示されて、何が原因でエラーが発生しているのか分からず、対応に困った経験がある方も多いでしょう。
本記事では、よく見かけるエラーコードの原因と、それを簡単に解決する方法について解説します。数式のエラーが発生した場合のトラブルシューティング方法を習得すれば、Excelの作業効率が大幅にアップします。
よくある数式エラーと原因・対処法
エラーコード | 原因 | 対処法 | 例 |
---|---|---|---|
#NAME? | 関数名のタイプミス、無効な名前定義がある | 関数名を確認し、正しく入力する。名前定義を再確認する。 | =SUM(A1:A10) を =SUMM(A1:A10) と誤って入力 |
#VALUE! | 数式で数値を必要とする箇所に文字列が入力されている | 数式で数値を扱うべきセルが文字列や無効なデータでないか確認 | =A1+B1 で A1 が数値、B1 が文字列の場合、#VALUE! エラー発生 |
#DIV/0! | ゼロで割り算をしようとした | 分母がゼロでないか確認する。必要に応じて IFERROR でエラー回避 | =A1/B1 で B1 がゼロまたは空白の場合、#DIV/0! エラー発生 |
#REF! | 削除したセルや範囲を参照しようとした | 削除したセルや範囲を参照していないか確認、参照を修正する | =VLOOKUP(A2, B1:C10, 2, FALSE) で B1:C10 範囲が削除された場合 |
#N/A | 検索関数で検索値が見つからない | 検索値が正しいか、IFERROR でエラーを処理する | =VLOOKUP(A2, B1:C10, 2, FALSE) で A2 が範囲に存在しない場合 |
数式エラーコード毎の実例
1. #NAME? エラーの実例
=SUMM(B2:B5)
もし誤って SUMM
と入力した場合、#NAME?
エラーが発生します。

2. #VALUE! エラーの実例
C3に「=A3+B3
」が設定されています。四則演算の場合、文字列が含まれていた場合、#VALUE!
エラーになります。

C7に「=SUM(C2:C6)」が設定されています。範囲内にエラーが含まれているためエラーになる。

=SUM(B2:B6)
B7に「=SUM(B2:B6)」が設定されています。SUM関数の場合は、範囲内に文字列が含まれていても、無視されるためエラーにはなりません。

3. #DIV/0! エラーの実例
=A5/B5
B5は0、割れないのでエラーとなります。

=IF(B6<>0, A6/B6, "エラー:ゼロで割れません")
この式では、B6がゼロでない場合に計算を行い、ゼロの場合には「エラー:ゼロで割れません」というメッセージを表示します。

4. #REF! エラーの実例
=A1+B1
という数式がある状態で、B列を削除した場合。 数式は =A1+#REF!
のようになり、参照先が失われたため、#REF!
エラーが表示されます
=A1+B1
=VLOOKUP(A2, B1:C10, 2, FALSE)
5. #N/A エラーの実例
検索した「商品名」が商品マスターに存在していなかった場合
=VLOOKUP($A3,$E3:$G7,3,FALSE)

エラーコードを使わない工夫
方法1. IFERRORを使ってエラー処理を行う
IFERROR
を使うと、エラーが発生した場合にカスタムメッセージやデフォルト値を返すことができます。エラー処理を行うことで、数式が見やすく、ユーザーにも親切になります。
不一致時のエラーを回避する関数(IFERROR)追加
例1:「商品名」が商品マスターに存在していなかったら「空白」にする
=IFERROR(VLOOKUP($A3,$E3:$G7,3,FALSE),"")
例2:「商品名」が商品マスターに存在していなかったら「無し」表示にする
=IFERROR(VLOOKUP($A3,$E3:$G7,3,FALSE),"無し")

方法2. ISERROR 関数でエラー判定
ISERROR
関数を使うと、計算結果がエラーかどうかを判定できます。これにより、エラーが発生した場合に別の処理を行うことができます。
計算結果のエラー判定をする関数(ISERROR)追加
=IF(ISERROR(A1/B1), "エラー発生", A1/B1)
- この式では、
A1/B1
の計算がエラーでない場合に計算結果を表示し、エラーが発生した場合には「エラー発生」と表示します。
まとめ:数式エラーの対処法
- エラーコードごとに原因を特定し、エラーが発生しないように予防策を講じる
- IFERROR、ISERROR、IF関数を使って、エラーが発生した場合でも、ユーザーに分かりやすいメッセージを表示する
- よく発生するエラーコード(#NAME?、#VALUE!、#DIV/0!など)の意味を理解し、実際の業務で活かす
関連記事
- \指定値に一致する行の任意列の値を取得/
Excel VLOOKUP関数の使い方|表からデータを一発取得 - \複数条件に一致する行の任意複数列の値を取得/
Excel XLOOKUP関数|VLOOKUP弱点解消!複数条件 - \VLOOKUPとXLOOKUP関数は何が違う?/
Excel VLOOKUPとXLOOKUPの違い|新旧検索比較 - \IF関数の使い方/
Excel IF関数の使い方|すぐわかる3つの基本パターンと応用例 - \IFがネストになる場合はIFS関数で/
Excel IFS関数の使い方|IFのネストをスマートに! - \条件付きの合計/
Excel SUMIF関数の使い方|条件付き合計を簡単に実現 - \複数条件付きの合計/
Excel SUMIFS関数の使い方|複数条件で合計
コメント