Excelを使っていると、セルに『#VALUE!』や『#DIV/0!』などのエラー表示が突然現れることがあります。
数式を複雑に作りこんでいくにつれて、エラー表示になる頻度も増えていき、「どこを直せばいいの?」とイライラしがちですが、
Excelのエラー表示の意味と原因を理解すると、問題箇所を推測できる場合があります。
つまり、エラーはトラブルではなくExcelが教えてくれている「修正ポイント」です。
この記事では、Excelでよく発生する代表的なエラーについて、
- エラーの意味
- よくある原因
- 具体的な直し方
をセットで分かりやすく解説します。
Excelの代表的なエラー一覧
| エラー表示 | 意味(簡単に) | よく出る場面 | 直し方のポイント |
|---|---|---|---|
| #VALUE! | 計算できない値がある | 文字列混入・引数ミス | 数値に修正・不要な文字を削除 |
| #DIV/0! | 0で割っている | 割り算・平均計算 | 分母を0以外にする/IFERRORで回避 |
| #REF! | 参照先がない | 行・列の削除 | 数式の参照を修正 |
| #NAME? | 名前が間違っている | 関数名ミス | スペルを修正 |
| #N/A | 該当データなし | VLOOKUP / XLOOKUP | 検索値・範囲を確認 |
| #NUM! | 数値が不正 | 日付・数学関数 | 数値や計算式を見直す |
| #NULL! | 範囲指定ミス | 関数の区切り誤り | カンマ・コロンの使い方を確認 |
【#VALUE!】値が不正です
エラーの意味
数式の中に数値として計算できない値が含まれています。
主な原因と直し方
1.数字のつもりが文字列扱いになっている
例として以下の簡単な数式を考えます。
問題なければ1.5という答えが表示されますが、文字列が混ざっていると『#VALUE!』が返されます。

直し方
文字列となっている部分を数値に修正します。
文字列となっているかどうかは、『ホーム』タブの『数値』セクションにある『表示形式』欄から確認できます。

データ数が多いときは、どこに文字列が入っているのか見つけるのは大変です。
その際は検索機能を利用しましょう。
1.まず『Ctrl+F』のショートカットキーを押して、『検索と置換』のダイアログボックスを開きます。
2.『検索する文字列』の入力欄の横にある『書式』ボタンをクリックします。
3.『書式の検索』のダイアログボックスが表示されたら、『表示形式』タブの『分類』メニューから『文字列』を選択します。

4.『検索する文字列』は空欄のまま、『検索場所』の欄は『シート』、『検索対象』の欄は『値』を選択します。

5.『すべて検索』ボタンをクリックします。
すると、検索結果が表示されるので、『値』の列を確認し、自分の意図と異なる値がヒットしていれば、該当するセルを修正します。

Office 365では数値が、全角の数字『3』やアポストロフィを使った入力『’3』など、文字列として入力されている場合でも、エラー表示を出すことなく計算を実行してくれます。

このとき、文字列として入力されている、個別のセルにエラーが表示されるため、必要に応じて修正します。

2.セルにスペースが含まれている
セルの中に不要なスペースがある場合でも、『#VALUE!』のエラーが返されます。
以下の例では、エラーがなければ15.9という計算結果になります。

この時『45』という数字の間にスペースが入っていると、表示形式は『数値』となっているのに、『#VALUE!』のエラーとなります。

直し方
スペースが原因の場合は、不要なスペースを削除することでエラーを解消することができます。
どこにスペースがあるかは、検索機能を利用することで見つけることもできますが、文字列と異なり、『表示形式』や『半角/全角』など条件が多くなるため、うまくヒットしないことがあります。
その際は以下の関数を試してみてください。
=ISNUMBER(FIND(” “, 検索範囲))
1.まず空いた作業スペースに『=ISNUMBER(FIND(” “, 検索範囲))』を入力します。検索範囲はマウス操作でドラッグすることで簡単に指定できます。
この時スペースは半角/全角を区別しているため、入力に注意します。

2.すると、自動的に計算結果がスピルされ、検索範囲に対応して計算結果のセルが拡張されます。
その結果、空白スペースが入っている個所に対応するセルに『TRUE』が返されます。

スピル機能とは、1つのセルに数式を入れると、結果が自動的に隣接セルに広がる(スピルする)仕組みです。
Excelのバージョンによっては、このスピル機能が使えない場合があります。
その際は、
『=ISNUMBER(FIND(” “, A1))』
というように、個別セルを指定し、検索範囲全体に数式をコピーしましょう。
数式のコピーはセルの右下にマウスポインターを合わせたときに表示される『フィルハンドル』をドラッグすることで簡単にできます。

半角/全角は同時に検索することもできますが、煩雑になるため、
『=ISNUMBER(FIND(” “,検索範囲))』で半角スペースの検索が終わったら
『=ISNUMBER(FIND(“ ”,検索範囲))』と全角スペースの検索を行うというように、順番に検索した方がいいと思います。
3.その他:配列の扱いを間違えた場合
Excelのバージョンによっては、単一の値を入力しなければならない関数において、範囲(複数セル)を指定すると『 #VALUE!』 になることがあります。
最新のOffice 365では『#VALUE!』のエラー表示にはならずに、スピル機能によって範囲計算されます。
もし、指定範囲内に既に数値がある場合には『#スピル!』のエラーが表示されます。

【#DIV/0!】0で割り算しています
エラーの意味
0 または空白のセルで割り算をしています。
主な原因
1.分母が0になっている
あえて0で割り算をする状況は少ないかもしれませんが、
分母に別の数式セルを参照した際に、変化するデータの中で、結果的にゼロになることがあります。
例えば、以下のような日次データを入力している際、『国内出荷率』の列には入力データを引用して、
『=D2/(B2-C2)*100』という数式が設定されています。
これは『国内出荷数量/全出荷数量』を計算していることを意味しています。

この帳票において、もし『製造数量=規格外品数量』だった場合、実際の出荷率は0%になるはずですが、
計算上の出荷率は0%ではなく、『#DIV/0!』のエラーが返されます。
このように直接0という値を入力しなくても、計算の過程で0で割り算してしまう場合があります。

2.分母が空白セルになっている
分母がゼロの場合と同じようにデータ欠損などで、数式の引用セルが空白セルだった場合、
空白セルが0として扱われ、『#DIV/0!』のエラーが返されることがあります。

直し方
分母に 0 以外の値を入力することで、エラーを解消することはできます。
しかしながら、先述の通り、間違った数値を入力したわけではなく、計算の結果0で割ってしまう場合があります。
その場合のエラーを回避するには『=IFERROR()』関数を使うのがおすすめです。
=IFERROR()関数は、指定したセルがエラーだった場合に、条件に応じた表示を行う関数です。
今回の例で、
=IFERROR(D2/(B2-C2)*100,”異常値”)
と設定すると、エラー表示のセルだけ『異常値』が表示されます。

=IFERROR(D2/(B2-C2)*100,0)
と記載すれば、エラー表示のセルは数値の0が入力されます。
テキスト表示させたい時はダブルコーテーション『”』で挟んで『”異常値”』と記載する必要があります。
特に様式の指定がない場合には、エラー表示⇒空白表示にすると見た目もすっきりしておすすめです。
空白表示にするには、ダブルコーテーション2つ連続『””』で記載します。
このとき『” “』のようにダブルコーテーションの間にスペースを入れる必要はありません。

【#REF!】参照が無効です
エラーの意味
数式が参照しているセルが存在しません。
主な原因
1.参照元の行や列を削除した
通常Excelでは、数式が参照しているセルの数値を消しただけでは、空白セルは『0』として扱われるだけでエラー表示にはなりません。

一方で、参照セルを含む『行』や『列』、『セル』ごと削除してテーブルの配列が崩れた際に、『#REF!』のエラーが返されます。

2.別シートのセルを参照している
別シートから数値を参照してる数式の場合、参照シートを削除してしまうと『#REF!』エラーが返されます。

3.カット&ペーストで参照が崩れた
通常Excelでは、数式で参照しているセルを別の空白セルにカット&ペーストしても、自動で参照が修正され、エラーにはなりません。

空白セルだけではなく、数式に関わらない入力セルにカット&ペーストしても、エラーが起きることはなく、数式は自動で修正されます。
一方で、既に数式に参照されているセルにカット&ペーストすると『#REF!』エラーが返されます。

直し方
1.数式を修正して正しいセルを指定し直す
『#REF!』のエラーが表示されたときには、数式の中を確認してみましょう。
参照がおかしくなっているセルの部分が『#REF!』に置き換わっているので、あらためて正しいセルを参照しなおします。

2.参照されているセルを削除しないよう注意する
参照されているセルや行列を削除するとエラーが表示されます。
その際は、どのセルを削除すると影響するのか確認します。
1.『Ctrl+Z』のショートカットキーで、エラーが出る前の状態に戻ります。

2.エラーが表示されたセルを選択し、『数式』の『ワークシート分析』セクションにある『参照元のトレース』を選択します。

すると、セルに矢印のガイドが表示され、どのセルが数式に影響を与えているか確認することができます。
この参照元のトレースを活用して、誤って必要なセルを削除してしまわないように注意しましょう。

【#NAME?】名前が間違っています
エラーの意味
Excelが認識できない名前が使われています。
主な原因
1.関数名のスペルミス
関数名を手打ちした際に、スペルミスがあると、『#NAME?』エラーが返されます。

直し方
関数のスペルミスの場合は、関数名を修正することでエラーを解消できます。
関数名が分かっているとき
1.関数の最初の数文字を打ち込むことで、関数の候補が表示されます。
2.リストの中から目的の関数名をダブルクリックすることで、自動的に関数が入力されます。

関数名が分からないとき
1.『数式』タブから『関数の挿入』アイコンをクリックします。

2.『関数の挿入』のダイアログボックスが表示されたら、関数の検索ツールなどを使い目的の関数を探します。
ここでは、「平均を求めたい」と入力して、検索ボタンをクリックします。

3.検索の結果、複数の関数の候補が表示された場合は、関数の説明を確認して目的の関数を選択します。

4.OKボタンをクリックすると、『関数の引数』を選択します。

5.OKボタンをクリックすると、関数が入力されます。

2.引数名(範囲名)が存在しない
関数名は正しい場合でも、カッコ内の引数名(範囲名)が間違っていると『#NAME?』エラーが返されます。

直し方
定義済みの引数名(範囲名)に修正することでエラーを解消することができます。
引数名の間違いは、手入力で書きこんでいるときに起きがちです。
多くの方はマウス操作などを使って、セルの選択で引数を指定していると思うので、問題となるケースは少ないと思います。
もし、手入力で引数指定している場合でも、全角入力になっている程度の間違いであれば、自動で修正されます。
また、例えば『コロン ” : “』と『セミコロン” ; “』を間違えた程度であれば、数式の修正のガイドが表示されます。

3.文字列を ” ” で囲んでいない
関数内に文字列を入力できる関数において、文字列をダブルコーテーション『”』で挟んでいない場合も、『#NAME?』エラーが返されます。

直し方
数式の中を確認し、文字列はダブルクォーテーションで囲みます。
【#N/A】該当データがありません
エラーの意味
検索した値が見つかりません。
(N/Aは英語でNot Applicable :該当なしの略です)
主な原因
1.=VLOOKUP() または= XLOOKUP()関数 で一致データがない
一番多いのが=VLOOKUP()関数や=XLOOKUP()関数のような何かを検索する関数でのエラーです。
検索値や参照範囲の引数が間違っていると『#N/A』のエラーが返される場合があります。

直し方
数式の中身を見直して、検索値と検索範囲を修正することで、エラーを解消することができます。
特に数式をコピーして使用したり、参照している表の行列の一部を削除してしまうとエラーが起きがちです。
コピー&ペーストや行列の削除を行った際は、検索値や参照範囲に意図しないずれが起きていないか確認しましょう。

2.検索範囲や検索値に誤字・脱字がある
検索値や検索範囲の表に記載しているテキストに誤字や脱字があると、うまく検索できず『#N/A』が返されます。
以下の例では、『高橋』で検索しているつもりで、『高』が旧字体のはしごだか『髙』になっています。
この場合でも完全一致で条件指定している場合では『#N/A』エラーとなります。

また、検索範囲の表と異なる表記(全角/半角や空白スペース)となっている場合でも、#N/Aが返される場合があります。

直し方
この場合は表記ゆれを修正することで、エラーを解消することができます。
特に日本語入力では全角/半角や漢字の間違いなどで表記ゆれが起きやすくなります。
このため、可能であれば検索値を数値で指定する様式にすれば間違いは起きづらくなります。
数値指定であれば、全角で入力しても自動で半角入力に修正されます。

また、表記ゆれを解消するために一番よく使われる方法は、『入力規則』を用いて入力値をドロップダウンリストから選ぶ方法です。
入力規則を用いることで、Excelシートの作成者と、使用者で入力の表記ゆれがおきるのを防止できます。

ドロップダウンリストは以下の手順で簡単に設定できます。
ここでは基礎的な使い方だけ説明します。
1.入力セルにカーソルを合わせ、『データ』タブの『データツール』グループにある『データの入力規則』のアイコンをクリックします。

2.『データの入力規則』のダイアログボックスが表示されたら、『入力値の種類』の欄を『リスト』に設定します。
3.『元の値』の欄を入力値として指定したい、行や列を表の中から範囲指定します。

=VLOOKUP()や=XLOOKUP()関数では、検索値を『完全一致』か『近似一致』で選ぶことができます。
=VLOOKUP(検索値,範囲,列番号,[検索方法])
の検索方法の部分を『FALSE』とすれば、完全一致、『TRUE』とすれば近似一致になります。
近似一致にすることで、エラーの発生頻度は減ります。

一方で、2つ以上の該当する値が発生し、意図しない結果が表示されることがあるため、基本は『完全一致』を使う方がいいでしょう。

『#N/A』のエラー表示は、エラーではなく本当に該当するデータが存在しない場合があります。
そのような時に、エラーを表示させない工夫として
=IFERROR(VLOOKUP(検索値,範囲,列番号,[検索方法],”なし”)
と入力しておけば、該当するデータがない際に、『#N/A』ではなく『なし』と表示されます。
ただし、『#N/A』以外のエラーの場合でも『なし』と表示されるため、注意が必要です。
【#NUM!】数値が不正です
エラーの意味
Excelが扱えない数値や計算条件です。
主な原因
1.負の数で平方根や対数を計算している
数学的な条件が不適切な場合に、『#NUM!』が返されます。
例えば、平方根(ルート:√)の計算を行う=SQRT()関数において、マイナスの数字を引数とすると、計算結果が複素数となるため、『#NUM!』が返されます。

直し方
入力値が妥当か確認する必要があります。
計算の結果不適切な数値が引用されている場合もあるため、引数がどのような数値になっているか一度確認するとよいでしょう。

『#NUM!』の場合も『#DIV/0!』と同じように、間違った数値を入力したわけではなく、計算の結果不適切な数値が参照されてしまう場合があります。
その場合のエラーを回避するには『=IFERROR()』関数を使うのがおすすめです。
=IFERROR()関数は、指定したセルがエラーだった場合に、条件に応じた表示を行う関数です。
今回の例で、
=IFERROR(SQRT(A4-B4),”異常値”)
と設定すると、エラー表示のセルは『異常値』が表示されます。

2.Excelが扱える数値の範囲を超える
Excelが扱える最大の桁数は約10^308であるため、それ以上の計算結果になる場合は、『#NUM!』が返されます。

直し方
もし大きな桁数の数値を扱うことになる場合は、『メガ(M):10^6』や『ギガ(G):10^9』などのSI接頭語を使い、桁数が少なくなるよう工夫しましょう。
それでも、通常の計算で、10^309 を超えることはほぼ無いと思います。まずは計算式の引数が間違っていないか確認することが重要です。
それでも組み合わせの検討など特殊な場合には対数(Log)を用いることで、扱いやすい数字に変換するとよいでしょう。
↓『組合せ爆発』のWikipediaリンク
https://ja.wikipedia.org/wiki/%E7%B5%84%E5%90%88%E3%81%9B%E7%88%86%E7%99%BA
【#NULL!】範囲指定のミスです
エラーの意味
セル範囲の指定方法が間違っています。
主な原因
セルの区切りをスペースで書いている
範囲指定や複数の引数が必要な関数において、セル番号(セルアドレス)の区切りをスペースで書くと#NULL!のエラーが返されます。

正しい書き方
範囲指定の場合:コロン『 : 』で区切る。
例)C2:C11

複数指定の場合:カンマ『 , 』で区切る。
例)C2,C3,C4,C5,C6,C7,C8,C9,C10,C11

コロン『:』やカンマ『,』で区切られていれば、『:』や『,』の後にスペースが入っていても自動でスペースが削除されエラーにはなりません。

エラー解消のためのコツ
Excelには関数のエラー解消のための補助ツールが用意されています。
『計算の過程を表示』というツールを用いることで、複雑な数式でも、どの部分でエラーが生じているのか段階的にチェックすることができます。
手順
1.エラーが表示されているセルにカーソルを合わせ、セルの左上に表示される、アラートアイコンをクリックします。
2.表示されたメニューの中から『計算の過程を表示』をクリックします。

3.『数式の計算』というダイアログボックスが表示されたら、『検証』というボタンをクリックしていき、計算過程のどの部分で不具合が起きているか確認します。

『数式の計算』ツールにある『ステップイン』は、『検証』欄の中の数式において、アンダーラインが引かれているセルの中身を確認するためのボタンです。

まとめ:エラーは「Excelからのメッセージ」
Excelのエラー表示は、
「ここを直せば正しく動きますよ」というExcelからのサインです。
意味を理解してしまえば、エラーは作業効率と品質を高めてくれる心強い味方になります。
途中でも述べましたが、特にセルや行列、シートタブを削除した際に、エラーは発生しやすいので、むやみに削除しないように注意しましょう。
また、本当に計算の結果仕方なくエラーになる場合も大いにあると思うのでその際は=IFERROR()関数を用いたり、アラートアイコンから『エラーを無視する』などで対処しましょう。
エラーを恐れず、一つずつ原因を確認しながらExcelを使いこなしていきましょう。
皆さんのお仕事に少しでも役立てれば幸いです。ではまたノシ

コメント