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つに分かれます。
- 参照していたセルを削除してしまった
- 関数の引数で指定した範囲がおかしい
順番にいきましょう。まず下の画面を見てください。
きれいに「#REF!」エラーが出ています。
「C3」の式を見ると、「=B3*#REF!」になっています。
掛け算する場所がすでに無くなっているのです。
実はこの表、最初の状態は下の画像のようになっていました。
「D3」に計算式が入っており、そこで「C3」を指定しています。
この状態で「C列」を削除してしまいました。
「C列」を使用していた計算式で突然その「C列」を削除してしまったら・・・。
確かにセルを参照できませんよね。
この場合は小さな表なので「そんな間違いあるのかな?」と思うかもしれませんが、大きな表になるとついやってしまう場合がありますよ。
では、2つめのパターンです。
下の図は、上にある表の猫川さんのコメント「がんばれ」をINDEX関数で引っ張ってこようとしている表です。
また「#REF!」エラーが出てしまっています。
その中の関数を表示したのが下の画面です。
ここで覚える必要はありませんが、INDEX関数は、指定した範囲内の中で、行列が交差した場所を引っ張ってくる関数です。
後半部で行列を指定するのですが、「3,3」となっています。
青い四角で囲んだ場所が指定した範囲なので、「3,3」だとはみ出てしまいます。
「3,2」と修正すれば、ちゃんと「がんばれ」と表示されます。
このように、関数の中で指定した範囲より、外の場所を参照してしまっている場合もあるので注意しましょう。
このエラーは、VLOOKUP関数やHLOOKUP関数でもよく遭遇します。
「#NAME?」の例
関数名やセル範囲の名前が正しくない場合に表示される
原因は大きく2つに分かれます。
- 関数の名前を間違えている
- 関数で使用している名前が定義されていない
順番にいきましょう。関数の名前を間違えているパターン。
来客数の合計を出したいのですが・・・。
これで【Enter】キーを押すと、
エラーが表示されます。
合計の関数は「SAM」ではなく「SUM」ですね。
では、次のパターン。
下の画像は「B2:D2」の範囲に「年末」という名前を定義したところです。
このように範囲に名前を付けると関数で使用できます。
上の画像のように関数を入力すると正常に計算されます。
しかし、「年末」にすべきところを間違えて「年度末」にして、
【Enter】キーを押すと、
エラー表示が出てしまいます。定義していない名前を使っているので当たり前ですね。
このような場合も「#NAME?」がでます。
「#N/A」の例
値がない場合に表示される
関数で参照が見当たらない場合に出てきます。
下の画像は、VLOOKUP関数を使用して、左の表の赤枠の評価に応じて、右側の青枠から一致するコメントを表示するようにしています。
「D8」にエラーが表示されています。そのセル内の関数は、
関数に間違いはありません。
原因は別の場所。
よーく見ると、青枠の「評価」に存在しない「D」を赤枠で入力しています。
存在しないものを表示しようがありません。
このように、関数で参照している場所に値が見当たらない場合に「#N/A」が表示されます。
「#SPILL!」の例
スピル機能を使用しているときに以下の3つに当てはまると表示される
- スピル範囲に、すでに他のデータが入力されている
- スピル範囲に、後からデータや数式が入力された
- ワークシートの範囲を超えてスピルしている
このスピル機能は最近のバージョンで使用できるようになりました。
説明が長くなるので別のページで説明しています。
まとめ
エクセルを使用していると、エラー表示は毎日目にするものです。
直前の作業からエラーの原因はだいたい予想はつくものですが、エラー表示の内容を簡単にでも覚えておけば、さらに原因を早く突き止めることが可能になりますよ。
エクセルを使っていれば、エラーは珍しく無いにゃ