Excel(エクセル)のエラー表示の一覧|「#VALUE!」「#DIV/0!」「#REF!」「#NAME?」「#N/A」「#SPILL!」

スポンサーリンク
スポンサーリンク
スポンサーリンク

Introduction

Ver. all 2013 2016 2019 365

エクセルのエラー表示の説明です。

「#VALUE!」「#DIV/0!」「#REF!」「#NAME?」「#N/A」「#SPILL!」

これらエラーの意味を簡単にでも覚えておくと原因解明に役立ちますよ。

 

エラー表示が出るとがっかりするにゃー

スポンサーリンク

エラー表示一覧表

エラー表示の意味を簡単にまとめると、以下のようになります。

 

エラー値読み方意味
#VALUE!バリュー入力した数式か、参照先のセルに問題がある
#DIV/0!ディバイド・パー・ゼロ0で割り算をしている
#REF!リファレンスセルが参照できない
#NAME?ネーム関数名やセル範囲の名前が正しくない
#N/Aノー・アサイン値がない
#SPILL!スピルスピル機能がうまく働いていない

 

一つずつみてみましょう。

スポンサーリンク

「#VALUE!」の例

入力した数式か、参照先のセルに問題がある場合に表示される

下の例を見てください。二か所にエラーが表示されています。

上から順番に見てみましょう。

「D4」の計算式を見てみると・・・

「=B4*C4」が正解なのですが、「C4」の場所が「C2」になっています。

そして、「C2」には数字ではなく文字が・・・。これは確かに問題がありますね。

 

次の場所はちょっと原因を探すのが難しいパターンです。

エラーが表示されていた「D6」の計算式を見ると、一見あっているように見えます。

「C6」は空欄なのですが、空欄の場合は0扱いになるのでエラー表示は出ないはずです。

実際に上の「D5」はエラー表示が出ず、「0」と表示されていますね。

 

さて、原因は「C6」をダブルクリックすると分かります。

良く見ると、空欄のつもりだった「C6」、全角の空白(スペース)が入力されているのです。

エクセルにとって、スペースは文字と同じ扱いなので、先ほどと同じ、「数字」×「文字」となり、これはおかしいとなるわけです。

 

この空欄のつもりの場所に、スペースが入っていたというのはたまにあるミスです。

覚えておきましょう。

「#DIV/0!」の例

0で割り算をしている場合に表示される

これは分かり易いですね。

このように「0」で割ろうとした場所は、

エラーが表示されます。

ISERROR関数やIFERROR関数などを使用して回避したいですね。

「#REF!」の例

セルが参照できない場合に表示される

原因は大きく2つに分かれます。

  1. 参照していたセルを削除してしまった
  2. 関数の引数で指定した範囲がおかしい

順番にいきましょう。まず下の画面を見てください。

きれいに「#REF!」エラーが出ています。

「C3」の式を見ると、「=B3*#REF!」になっています。

掛け算する場所がすでに無くなっているのです。

 

実はこの表、最初の状態は下の画像のようになっていました。

「D3」に計算式が入っており、そこで「C3」を指定しています。

この状態で「C列」を削除してしまいました。

「C列」を使用していた計算式で突然その「C列」を削除してしまったら・・・。

確かにセルを参照できませんよね。

この場合は小さな表なので「そんな間違いあるのかな?」と思うかもしれませんが、大きな表になるとついやってしまう場合がありますよ。

 

では、2つめのパターンです。

下の図は、上にある表の猫川さんのコメント「がんばれ」をINDEX関数で引っ張ってこようとしている表です。

また「#REF!」エラーが出てしまっています。

その中の関数を表示したのが下の画面です。

ここで覚える必要はありませんが、INDEX関数は、指定した範囲内の中で、行列が交差した場所を引っ張ってくる関数です。

後半部で行列を指定するのですが、「3,3」となっています。

青い四角で囲んだ場所が指定した範囲なので、「3,3」だとはみ出てしまいます。

「3,2」と修正すれば、ちゃんと「がんばれ」と表示されます。

 

このように、関数の中で指定した範囲より、外の場所を参照してしまっている場合もあるので注意しましょう。

このエラーは、VLOOKUP関数やHLOOKUP関数でもよく遭遇します。

「#NAME?」の例

関数名やセル範囲の名前が正しくない場合に表示される

原因は大きく2つに分かれます。

  1. 関数の名前を間違えている
  2. 関数で使用している名前が定義されていない

順番にいきましょう。関数の名前を間違えているパターン。

来客数の合計を出したいのですが・・・。

これで【Enter】キーを押すと、

エラーが表示されます。

合計の関数は「SAM」ではなく「SUM」ですね。

 

では、次のパターン。

下の画像は「B2:D2」の範囲に「年末」という名前を定義したところです。

このように範囲に名前を付けると関数で使用できます。

上の画像のように関数を入力すると正常に計算されます。

 

しかし、「年末」にすべきところを間違えて「年度末」にして、

【Enter】キーを押すと、

エラー表示が出てしまいます。定義していない名前を使っているので当たり前ですね。

このような場合も「#NAME?」がでます。

「#N/A」の例

値がない場合に表示される

関数で参照が見当たらない場合に出てきます。

 

下の画像は、VLOOKUP関数を使用して、左の表の赤枠の評価に応じて、右側の青枠から一致するコメントを表示するようにしています。

「D8」にエラーが表示されています。そのセル内の関数は、

関数に間違いはありません。

 

原因は別の場所。

よーく見ると、青枠の「評価」に存在しない「D」を赤枠で入力しています。

存在しないものを表示しようがありません。

このように、関数で参照している場所に値が見当たらない場合に「#N/A」が表示されます。

「#SPILL!」の例

スピル機能を使用しているときに以下の3つに当てはまると表示される

  • スピル範囲に、すでに他のデータが入力されている
  • スピル範囲に、後からデータや数式が入力された
  • ワークシートの範囲を超えてスピルしている

このスピル機能は最近のバージョンで使用できるようになりました。

説明が長くなるので別のページで説明しています。

Excel(エクセル)での、#SPILLエラーとは。その意味と原因は?
エクセルでの「#SPILL」エラーの意味と、その原因を説明します。

まとめ

エクセルを使用していると、エラー表示は毎日目にするものです。

直前の作業からエラーの原因はだいたい予想はつくものですが、エラー表示の内容を簡単にでも覚えておけば、さらに原因を早く突き止めることが可能になりますよ。

 

エクセルを使っていれば、エラーは珍しく無いにゃ