この記事でわかること
- Excelに表示される代表的なエラー8種類の意味と発生原因
- エラーごとの具体的な直し方(スクリーンショット解説付き)
- エラーを未然に防ぐための考え方のコツ
関連記事
- エラーを「そもそも表示させない」方法は → IFERROR関数の使い方と実務で使える組み合わせテク
#DIV/0!が割り算で出る場合の詳細は → エクセルで割り算を攻略!関数・応用・エラーの対処まで徹底解説#スピル!が出る場合は → エクセルの「スピル」って何?邪魔だと思っていた機能が実は最強だった話
はじめに|エラーは「間違いのサイン」じゃなく「ヒントのサイン」
Excelを使っていると、突然セルに #N/A や #DIV/0! などの見慣れない文字が現れて、「何かやらかした?」と焦ることはありませんか?
実はこれらのエラー表示、Excelが「ここに問題があるよ」と教えてくれているサインです。パソコンが壊れたわけでも、ファイルが壊れたわけでもありません。
エラーの種類を知っていれば、原因がわかって、すぐ直せます。逆に知らないと、何度やり直しても同じエラーが出て途方に暮れることになります。
この記事では、Excelで遭遇しやすいエラー8種類を、初心者の方でもわかるように一つひとつ丁寧に解説していきます。
Excelエラー 早見表
まずは全体像を把握しましょう。
| エラー | 一言で言うと | よくある原因 |
|---|---|---|
#N/A | 値が見つからない | VLOOKUP等で検索対象がない |
#DIV/0! | ゼロで割り算した | 割る数のセルが0か空白 |
#VALUE! | データの種類が合わない | 数値のはずが文字になっている |
#REF! | 参照先のセルがない | 参照元のセルを削除してしまった |
#NAME? | 関数名が間違っている | 関数名のタイポ・全角入力 |
#NULL! | 範囲の指定が間違っている | 半角スペースを区切りに使った |
#NUM! | 数値として計算できない | 大きすぎる数・マイナスの平方根など |
#### | セルに値が収まらない | 列幅が狭すぎる |
それでは一つずつ詳しく見ていきましょう。
1. #N/A |「値が見つかりません」
どういう意味?
#N/A は “Not Available”(利用不可)の略で、「探したけど見つからなかった」 というエラーです。
いつ出る?
主に VLOOKUP・HLOOKUP・MATCH・XLOOKUP などの「何かを探す関数」を使ったときに出ます。
=VLOOKUP(A2, D:E, 2, FALSE)
上のような式で、A2に入力した値がD列の中に存在しない場合に #N/A が表示されます。
具体的な原因3つ
① 検索する値がリストに存在しない
「商品コード:ABC-123」を探しているのに、リストには「ABC123」(ハイフンなし)しかない、というようなケース。人間の目にはわかりにくいですが、Excelは完全一致で検索するため、「ABC-123 ≠ ABC123」と判断してエラーになります。
② 余計なスペースが混入している
「 東京都」(頭にスペース)と「東京都」(スペースなし)は、Excelには別のデータとして扱われます。コピペ時に混入しやすいので要注意です。TRIM関数 でスペースを除去するのが有効です。
③ 検索値のデータ形式が違う
セルの書式が「数値」と「文字列」で食い違っているケースもよくあります。たとえば、検索する値は「数値の1」なのに、リスト側は「文字列の1」のように見た目は同じでも内部で異なる場合です。
直し方
- データを確認する → 検索値とリストを見比べて、完全に一致しているか確認
- TRIM関数でスペースを除去 →
=VLOOKUP(TRIM(A2), D:E, 2, FALSE) - エラー自体を非表示にしたい場合 → IFERROR関数と組み合わせる(詳細はこちらの記事)
ポイント
#N/A は「データが存在しない」という情報でもあります。すべてのケースでエラーを隠すのではなく、「本当に存在しないのか?データのミスなのか?」を先に確認することが大切です。
2. #DIV/0! |「ゼロで割ろうとしました」
どういう意味?
#DIV/0! は “Division by Zero”(ゼロ除算)の略で、「ゼロで割り算しようとした」 というエラーです。
数学の世界でも「何かをゼロで割ること」は定義されていません(答えが無限大になってしまうため)。Excelも同じ理由でエラーを返します。
いつ出る?
=A2/B2
のような割り算の式で、B2が「0」または「空白」のときに出ます。
具体的な原因2つ
① 割る数が文字どおりゼロ
売上÷客数を計算するシートで、客数がゼロの日があると #DIV/0! が出ます。
② 参照先のセルが空白
月次データを先に式だけ入れておいて、まだデータを入力していない月のセルが空白になっている場合も同じエラーが出ます(空白はゼロとして扱われます)。
直し方
IF関数で「ゼロのときは別の値を返す」設定にする:
=IF(B2=0, "データなし", A2/B2)
B2がゼロのときは「データなし」と表示し、そうでないときだけ割り算を実行します。
割り算の詳しい解説とエラー回避テクニックは こちらの記事 で詳しく説明しています。
3. #VALUE! |「データの種類が合いません」
どういう意味?
#VALUE! は 「数値を期待していたのに、文字列が入っていた(またはその逆)」 というエラーです。
Excelでは「数値」と「文字列」は別物として管理されています。足し算に文字を混ぜると計算できないのは当然ですね。
いつ出る?
=A2+B2
の式で、A2に「100」(数値)、B2に「200円」(文字列)が入っているときに出ます。
また、日付の計算でも起きやすいエラーです。
具体的な原因3つ
① 数値のつもりが文字列になっている
他のシステムからデータをエクスポートしたとき、数値が文字列として貼り付けられることがあります。このとき、セルの左上に緑の三角マーク(エラーインジケーター)が表示されます。
② 全角数字が混入している
「100」(全角)と「100」(半角)は見た目が似ていますが、Excelは全角数字を文字列として扱います。日本語入力中に誤って全角で入力してしまうことがあります。
③ スペースが混じっている
「100 」(末尾にスペース)のようなデータも文字列扱いになります。
直し方
- セルの書式を確認する → セルを選択して、ホームタブの「数値」グループの表示を確認(「文字列」になっていたら「標準」か「数値」に変更)
- VALUE関数で変換する →
=VALUE(A2)で文字列を数値に変換できます - 区切り位置機能を使う → データタブ→「区切り位置」→ 完了、で文字列数値を数値に一括変換できます
4. #REF! |「参照先のセルがありません」
どういう意味?
#REF! は “Reference Error”(参照エラー)の略で、「数式が参照しているセルが存在しない」 というエラーです。
いつ出る?
最もよくあるのは、数式が参照しているセル・行・列を削除してしまったときです。
=A1+B1+C1
という式がある状態でB列を丸ごと削除すると、式が参照先を失い #REF! になります。
具体的な原因2つ
① 参照先の行・列・シートを削除した
集計表で参照元のシートやセルを削除した後、集計式だけ残ってしまうパターンが典型的です。
② OFFSET関数やINDEX関数で範囲外を指定した
=OFFSET(A1, -5, 0) のように、存在しない位置を参照しようとしたときも出ます。
直し方
- 数式バーを確認 →
#REF!の部分がどの参照にあたるかを確認 - Ctrl+Z で操作を取り消す → 削除直後であれば元に戻せます
- 数式を修正する → 参照先を正しいセルに修正し直します
ポイント
行・列・シートを削除する前に、そのセルを参照している数式がないかチェックする習慣をつけると #REF! を予防できます。Ctrl+F(検索)で削除予定の範囲名やシート名を検索する方法が有効です。
5. #NAME? |「その関数名、知りません」
どういう意味?
#NAME? は、「Excelが関数名や名前を認識できなかった」 というエラーです。
いつ出る?
=VLOOCUP(A2, D:E, 2, FALSE)
のように関数名のスペルが間違っているときに出ます(VLOOKUPの”K”が”C”になっている)。
具体的な原因4つ
① 関数名のスペルミス
SUMIF → SUNIF など、1文字違うだけで認識されません。
② 全角で入力してしまった
日本語入力モードのまま入力すると、=SUM(A1) のように全角になり、Excelが関数として認識しません。数式は必ず半角で入力します。
③ 古いバージョンにない関数を使った
XLOOKUP や FILTER などは比較的新しい関数のため、Excel 2016以前などの古いバージョンでは認識されず #NAME? になります。
④ 定義されていない「名前」を参照した
セル範囲に付けた名前(「名前の定義」)をタイプミスで参照しているケースも原因になります。
直し方
- 数式バーで関数名を確認 → スペルが正しいか見直す
- 入力モードを確認 → 必ず半角英数字で入力する(Excelの数式入力中は自動で半角になることが多い)
- 関数の候補リストを使う →
=SUまで入力すると候補が表示されるので、そこから選ぶと誤入力を防げます
6. #NULL! |「その範囲の指定、おかしいです」
どういう意味?
#NULL! は、「2つの範囲が交差していない(共通部分がない)」 というエラーです。
これは比較的マイナーなエラーですが、初心者が「:」(コロン)と「 」(スペース)を間違えて使ったときに発生します。
いつ出る?
Excelでは、: (コロン)が「範囲を指定する演算子」、(スペース)が「2つの範囲の交差部分を取り出す演算子」として使われます。
=SUM(A1 C1) ← スペースで区切った(交差演算子として解釈される)
=SUM(A1:C1) ← 正しい記述(コロンで範囲を指定)
上のように、コロンの代わりにスペースを入れてしまうと #NULL! が出ます。
直し方
数式バーを確認して、範囲指定が : で正しく書かれているか見直してください。複数の範囲を指定したい場合は ,(カンマ)で区切ります。
=SUM(A1:C1, E1:G1) ← 複数範囲の正しい指定方法
7. #NUM! |「計算できない数値です」
どういう意味?
#NUM! は、「数値として扱えない計算になった」 というエラーです。
いつ出る?
① マイナスの数の平方根を計算しようとした
=SQRT(-4)
数学的に、マイナスの数の平方根は実数の範囲では存在しません(虚数になるため)。
② 計算結果が大きすぎる・小さすぎる
Excelが扱える数値の範囲を超えた場合に出ます(最大で10の307乗程度)。
③ IRR関数など反復計算が収束しない
財務関数で解が見つからない場合にも発生します。
直し方
- 入力値を確認 → マイナスになっていないか、異常に大きな値が入っていないかを確認
- ABS関数で絶対値にしてから計算 →
=SQRT(ABS(A1))のように絶対値を取ってからルートを計算する方法もあります(目的によって適否は異なります)
8. #### |「セルに表示しきれません」
どういう意味?
#### は厳密にはエラーではありませんが、「セルが狭すぎて値を表示できない」 という状態です。特に日付や時刻、桁数の多い数値のときに出やすいです。
直し方
列幅を広げるだけで解決します。
- 列の境界線をドラッグして広げる → 列番号(A、B、C…)の境界線にカーソルを合わせて右にドラッグ
- 自動調整 → 列番号の境界線をダブルクリックすると、内容に合わせて自動で列幅を調整してくれます
エラーを「非表示」にしたい場合は IFERROR 関数
ここまで解説してきたエラーは、原因を修正することが最優先です。ただし、業務の都合上「空白のセルにも式を入れておきたい」「エラーより空欄の方が見た目がいい」という場面もあります。
そういったときは IFERROR関数 を使えば、エラーが出た場合に別の値(空白・0・「-」など)を表示することができます。
詳しい使い方と実務での応用例は、こちらの記事をご覧ください。
→ IFERROR関数の使い方と実務で使える組み合わせテク
注意: IFERROR は「エラーを隠す」関数です。データの入力ミスや参照先の削除が原因のエラーをIFERRORで隠してしまうと、問題が見えなくなります。原因が何かを把握した上で使うようにしましょう。
エラーを減らすための3つの習慣
- データは「数値」と「文字列」を意識して入力する
数値を入力するセルには数値だけ。「円」「個」などの単位はセルの書式(表示形式)で設定すると#VALUE!のリスクが下がります。 - セル・行・列を削除するときは参照を確認する
Ctrl+F で削除予定のセル範囲が他の数式から参照されていないかチェックする習慣を。 - 検索系の関数は「見つからないケース」を想定して作る
VLOOKUPなどは最初からIFERRORと組み合わせて設計すると#N/Aに振り回されません。
まとめ
| エラー | 原因 | まず確認すること |
|---|---|---|
#N/A | 検索値がリストにない | スペース・表記ゆれ・データ形式 |
#DIV/0! | ゼロ・空白で割り算 | 割る数のセルの値 |
#VALUE! | 数値と文字列が混在 | セルの書式・全角半角 |
#REF! | 参照先が存在しない | 削除した行・列・シート |
#NAME? | 関数名が認識されない | スペル・全角半角 |
#NULL! | 範囲指定のスペースミス | コロンの代わりにスペース |
#NUM! | 計算できない数値 | マイナス値・異常に大きな数 |
#### | 列幅不足 | 列幅を広げる |
エラーを見ると焦ってしまいますが、エラーの種類がわかれば原因の見当がつくようになります。最初はこの記事を手元に置きながら一つずつ確認してみてください。慣れてくると、エラー名を見ただけで「ああ、あれが原因だな」とすぐにわかるようになります。
関連記事
- IFERROR関数の使い方と実務で使える組み合わせテク ← エラーを「表示させない」方法
- エクセルで割り算を攻略!関数・応用・エラーの対処まで徹底解説 ← #DIV/0! を割り算の観点から深掘り
- エクセルの「スピル」って何?邪魔だと思っていた機能が実は最強だった話 ← #スピル! の対処法

コメント