エクセル迷子案内所
← 学習記事一覧

Excelの主要エラー6種【症状→原因→解決の早見表】

公開: 2026-05-11更新: 2026-05-12

Excelで計算式を書いたら、セルに #VALUE!#REF! が出てきて手が止まった経験、ありますよね。

でも安心してください。Excelのエラーは 症状ごとに原因がだいたい決まっています

この記事では、

症状から逆引きで「なぜ出たか」と「最短の直し方」が分かる

早見表 + 各エラーの解決法をまとめました。 読み終わるころには、#〇〇 が出ても怖くなくなります。

💡 #N/A(VLOOKUP系で「値が見つからない」エラー)は別記事で詳しく書いたので、合わせてどうぞ: VLOOKUPで#N/Aが出る5つの原因と解決法


まずは早見表(症状→原因→道具)

エラー一言で言うとよくある原因解決の道具
#VALUE!型がおかしい数値演算に文字列が入ったVALUE / IFERROR
#REF!参照先が消えた行/列を削除した・シート名変更数式を書き直し
#DIV/0!ゼロで割った分母セルが空・ゼロIF で分母チェック
#NAME?名前が認識できない関数名のスペルミス・引用符忘れ数式バーで該当部分確認
#NULL!範囲指定がおかしいカンマ忘れ(スペース区切り)カンマ , を入れる
#N/A値が見つからないVLOOKUP系の検索失敗専用記事

この表を ブックマークしておくだけ でも、エラーが出たときの初動が大幅に速くなります。

なお、#N/A の例は VLOOKUP系で「見つからない」というケースが代表的です。

検索キー「9999」が商品マスタに存在しないため、VLOOKUPの結果 B2 が #N/A になっている例


#VALUE! の直し方(型がおかしい)

症状

  • 足し算・掛け算など計算式で発生する
  • 「いつもと同じ式なのに、なぜか今日はエラー」というケースが多い

主な原因

原因A:数値の式に文字列が混ざっている

=A1+B1     ← A1 が "100円" のような文字列だとエラー

原因B:関数の引数に違う型を渡している

=LEFT(A1, "2")   ← 第2引数は数値であるべき

原因C:配列が必要なのに単一値を渡している

  • 一部の配列関数で発生

解決方法

方針①:そもそも該当セルの値を直す

セルの値が「100円」のようになっていたら、100 だけにする。これが根本対処。

方針②:VALUE 関数で文字列→数値に変換

=VALUE(A1)+VALUE(B1)

方針③:IFERROR でエラーを別の値に置き換える(応急処置)

=IFERROR(A1+B1, 0)

📌 ポイント: 原因が分からないまま IFERROR で隠すと、本来計算されるべき値まで 0 になってしまう可能性があります。まずは原因を特定 → どうしても直せないときの最終手段として IFERROR を使ってください。

なお、セルに #VALUE! などの # エラーは出ていないのに計算が合わない(数式がそのまま表示されたり、SUMが0になったりする)場合は、文字列扱いの別カテゴリです。数式が計算されない・=SUMがそのまま表示される を確認してください。

B2に「100円」という文字列(黄色ハイライト・左寄せ)が入っているため、=A2+B2 の結果が #VALUE! になっている例


#REF! の直し方(参照先が消えた)

症状

  • 数式の中に #REF! という文字が直接入っている(例:=SUM(A1:#REF!)
  • 「昨日まで動いてたのに今日エラー」の典型

主な原因

原因A:参照していた行・列を削除した

VLOOKUPの検索範囲やSUMの集計範囲が含まれる列を削除すると発生。

原因B:シート名を変更した

別シートを参照する数式で、参照先のシート名が変わると発生。

原因C:別ブックへの参照が切れた

[Book1.xlsx] のような参照で、ブックが移動・削除された場合。

解決方法

方針①:直前の操作を取り消す

Ctrl + Z で削除前の状態に戻せるなら、これが最速。

方針②:数式を書き直す

#REF! の部分を 正しい範囲やシート名に書き直す のが王道。

=SUM(A1:#REF!)   ← Before
=SUM(A1:A100)    ← After(正しい範囲に修正)

方針③:今後の予防

  • 列・行・シートを削除する前に、「この削除で影響を受ける数式はないか」 を確認する習慣をつける
  • 数式タブ → 「参照元のトレース」 で依存関係を可視化できる

📌 ポイント: #REF!元の参照先を覚えていない のが厄介。必ず手動で書き直す必要があります。Ctrl+Z で戻せる状態のうちに気づけるかが勝負。

参照していた列を削除した結果、数式の中に =SUM(A2:#REF!) のように壊れた参照文字が直接埋め込まれ、B2 が #REF! になっている例


#DIV/0! の直し方(ゼロで割った)

症状

  • 割り算(/ を含む数式)で発生
  • 平均(AVERAGE)でも、対象が空のときに発生

主な原因

原因A:分母のセルが空

=A1/B1     ← B1 が空だとエラー

原因B:分母のセルが 0

明示的にゼロが入っているケース。

原因C:AVERAGE 等の集計対象が空

=AVERAGE(A1:A10)   ← A1:A10 が全部空だとエラー

解決方法

方針①:分母をチェックしてから割る

=IF(B1=0, "", A1/B1)

ゼロや空のときは空文字を返す形。

方針②:IFERROR で包む

=IFERROR(A1/B1, "")

方針③:データの実態を直す

そもそもなぜ分母が空 or ゼロなのか?を確認する。 入力漏れなら、入力ルールの見直しの方が本質的。

📌 ポイント: 業務で多いのは「月ごとの集計表で、まだデータが入っていない月でエラーが出る」パターン。この場合は方針①か②でOK。データ入力後に正しい結果に切り替わります。

B2の目標セルが空(黄色ハイライト)のため =A2/B2 の達成率が #DIV/0! になっている例


#NAME? の直し方(名前が認識できない)

症状

  • 数式の中に 不明な単語 が混じっている扱いになる
  • 「同じ式を友達のExcelからコピーしてきたら出た」というケースもあり

主な原因

原因A:関数名のスペルミス

=VLOKUP(...)    ← VLOOKUP のスペルミス
=AVERAGW(...)   ← AVERAGE のスペルミス

原因B:文字列の引用符忘れ

=IF(A1=合格, "OK", "NG")    ← "合格" のクォート忘れ
=IF(A1="合格", "OK", "NG")   ← 正しい

原因C:定義名(名前範囲)の打ち間違い

名前付き範囲を使っているとき、その名前を打ち間違えるとエラー。

原因D:関数のバージョン違い

新しい関数(XLOOKUP 等)を古いExcelで開いたケース。

解決方法

方針①:数式バーで該当箇所を目視確認

セルを選択して、上部の 数式バー をじっくり見る。

  • 関数名のスペルが正しいか
  • 文字列リテラルがクォートで囲まれているか
  • カラフルにハイライトされている部分とされていない部分の境目を確認

方針②:関数名はオートコンプリートに任せる

=VL まで打つと候補が出るので、Tab キーで確定。手打ちでスペルを間違えるリスクを減らせます。

方針③:定義名は「数式タブ → 名前の管理」で確認

正しい定義名のスペルが見れます。

📌 ポイント: #NAME?「Excelが知らない名前」 が混じっているサイン。関数名 / 文字列クォート / 定義名 / バージョン、の4方向から疑ってください。

なお SUMIFCOUNTIF>=100 のような条件式のクォートを忘れても #NAME? が出ます。集計系で出た場合は SUMIF / SUMIFS が動かない原因COUNTIF / COUNTIFS が動かない原因 も確認してください。また、セルの #〇〇 エラー値ではなく マクロ(VBA)を実行したときに出るエラー(「実行時エラー '13'」のようなダイアログ)は別カテゴリです。マクロが動かない・VBA実行時エラーの原因と直し方 を参照してください。

数式バーに =VLOKUP(...) とVLOOKUPのスペルミスが入っているため、B2 が #NAME? になっている例


#NULL! の直し方(範囲指定がおかしい)

症状

  • 比較的レアなエラー
  • 範囲を扱う関数で発生

主な原因

スペースで範囲を区切っている

Excelでは、スペース は「2つの範囲の共通部分」を意味します。

=SUM(A1:A10 B1:B10)   ← スペース区切りは共通部分(この場合は重ならないので #NULL!)

複数範囲を 結合(合計) したいなら、カンマ , で区切ります。

=SUM(A1:A10, B1:B10)   ← カンマ区切りで両範囲を合計

解決方法

範囲の区切りをカンマに直すだけ。

=SUM(A1:A10,B1:B10)

📌 ポイント: #NULL! は他のエラーに比べると遭遇頻度が低いですが、スペース区切り=共通部分 という仕様は知っておくと安心です。

数式 =SUM(A2:A5 B2:B5) のように2つの範囲をスペースで区切ったため、D2 が #NULL! になっている例(スペース区切りは「共通部分」を意味し、重ならない場合にこのエラーになる)


番外:エラーをまとめて非表示にしたいとき

IFERROR(全エラー対応)

=IFERROR(A1/B1, "")

すべてのエラー(#N/A, #VALUE!, #REF!, #DIV/0!, #NAME?, #NULL!, #NUM!)に対応。 エラーが出たら第2引数の値(上記なら空文字)に置き換えます。

IFNA#N/Aだけ対応)

=IFNA(VLOOKUP(...), "")

#N/A のみに対応。VLOOKUP・XLOOKUP系で「見つからない」場合だけ非表示にしたいときに便利。 他のエラーは握りつぶさない ので、本来の問題を見逃しにくい。

⚠️ ただし、エラーを非表示にしても 根本原因が消えるわけではありません。 「本当はマッチすべきデータがマッチしてない」状態を見逃すリスクがあるので、原因究明を諦める前の最終手段にしてください。

IFERROR の3つの落とし穴と IFNA との詳しい使い分けは別記事で解説しています: IFERROR の使い方と落とし穴【エラーを隠す前に読む完全ガイド】


まとめ:エラー対応チェックリスト

エラー最初に疑うこと最初に試す解決法
#VALUE!型のミスマッチ該当セルの値を確認
#REF!直前の削除操作Ctrl+Z か数式書き直し
#DIV/0!分母が空・ゼロIF で分母チェック
#NAME?スペルミス数式バーで目視
#NULL!スペース区切りカンマに直す
#N/A検索値の不一致専用記事へ

この順番で疑えば、ほぼ全てのエラーが解決できます。

関連記事

それでも解決しないときは

記事の手順を試しても直らない場合、特定の構成だけで起きるレアケースかもしれません。対話で原因を1つずつ切り分けるのが最短です。

AI案内人に相談する(無料・登録不要)→