Excelのエラー値9種類の意味と対処法まとめ|#N/A・#VALUE!・#REF!・#SPILL!を経理マンが原因別に解説

エクセル・実務

締め日の夕方、集計表に「#N/A」がズラッと並んだときの、あの胃がキュッとなる感じ。52歳になっても慣れません。でもエラー値は「どこがおかしいか」を教えてくれるメッセージです。意味さえ分かれば、ほとんどは数分で直せます。この記事は、困ったときに開く“辞書”として使ってください。

エラー値はExcelからの「ヒント付きメッセージ」

生徒:エラーが出ると、とりあえずIFERRORで消しちゃうんですけど……。
コーチ:それが一番危ないんです。エラーの種類ごとに原因はほぼ決まっています。まず一覧で全体をつかみましょう。
エラー値ひとことで言うとよくある原因
#N/A見つからない検索値がマスタにない、型違い・余分な空白
#VALUE!型が合わない文字列を計算に使っている
#REF!参照先が消えた行・列・シートの削除
#DIV/0!0で割った分母が0または空白
#NAME?名前が分からない関数名のタイプミス、文字列の””忘れ
#NUM!計算できない数値負の数の平方根、IRRが収束しない
#NULL!範囲が交わらないカンマのつもりで半角スペース
#SPILL!こぼせないスピル先のセルに何か入っている
#CALC!結果が空FILTERの該当データが0件
「####」はエラーではなく、列幅が足りないだけの表示です。列の境界をダブルクリックすれば直ります。日付の引き算でマイナスになった場合も####になります。

ここからは、この記事の例題データ(取引先マスタと経費明細)を使って、経理の現場で出やすい順に見ていきます。

#N/A:検索値が見つからない

経費明細の取引先コードから、取引先マスタの名前を引く場面で一番よく出ます。原因は「本当にマスタにない」か、「見た目は同じなのに一致しない」のどちらかです。

後者の正体は、たいてい数値と文字列の違いか末尾の空白です。会計ソフトから出したCSVのコード「1001」が文字列、マスタ側が数値、というのは定番の落とし穴です。

=XLOOKUP(TRIM(B2),取引先マスタ!A:A,取引先マスタ!B:B,"マスタ未登録")

XLOOKUPなら4つ目の引数で、見つからないときの表示を決められます。VLOOKUPを使っているなら、IFERRORより対象を絞れるIFNAで包むのがおすすめです。

「マスタ未登録」と表示させておけば、COUNTIFで件数を数えて登録漏れのチェックリストになります。エラーを隠すのではなく“見える化”するのがコツです。

#VALUE!:文字列を計算しようとした

「1,000円」のように単位付きで入力された金額や、全角数字を足し算すると出ます。見た目は数字でも、Excelにとっては文字です。

=VALUE(SUBSTITUTE(SUBSTITUTE(C2,"円",""),",",""))

数値に直したうえで計算します。セルの左上に緑の三角が出ていたら「文字列として保存された数値」のサインです。

#REF!:参照先のセルが消えた

数式が参照している行・列・シートを削除すると出ます。数式バーを見ると、参照部分そのものが「#REF!」に置き換わっているのが特徴です。気づいたらすぐCtrl+Zで戻すのが最速です。VLOOKUPで列番号が範囲の列数を超えている場合にも出ます。

#REF!は上書き保存すると元の参照が分からなくなります。他人が作った集計表で見つけたら、修正前にバージョン履歴で「削除前」の数式を確認しましょう。
Excel関数逆引き辞典パーフェクト 第3版 | きたみ あきこ |本 | 通販 | Amazon
Amazonできたみ あきこのExcel関数逆引き辞典パーフェクト 第3版。アマゾンならポイント還元本が多数。きたみ あきこ作品ほか、お急ぎ便対象商品は当日お届けも可能。またExcel関数逆引き辞典パーフェクト 第3版もアマゾン配送商品なら…

#DIV/0!:0で割った

前年比や構成比で、前年実績が0や未入力のときに出ます。新規の取引先や新設部門では避けられません。

=IF(C2=0,"-",D2/C2)

分母が0なら「-」を表示します。原因がはっきりしているので、IFERRORより意図が伝わる書き方です。

#NAME?・#NUM!・#NULL!:入力ミス系のエラー

#NAME?

「=SUMIFS」を「=SUMIF S」と打った、文字列を””で囲み忘れた、が大半です。また、XLOOKUPなど新しい関数を古いExcelで開いても出ます。取引先とファイルをやり取りするときは要注意です。

#NUM!

負の数の平方根や、IRR関数が答えを見つけられないときに出ます。IRRなら3つ目の引数に推定値を入れると解決することがあります。

#NULL!

「=SUM(A2:A10 C2:C10)」のように、カンマの代わりに半角スペースを入れると出ます。スペースは「2つの範囲が重なる部分」を意味する演算子だからです。

#SPILL!・#CALC!:新しいExcelのエラー

Microsoft 365などのスピル対応版で出るエラーです。#SPILL!は、FILTERやUNIQUEの結果を表示したい範囲に、何かが入っているときに出ます。邪魔なセルを空ければ消えます。テーブルの中ではスピルできない点にも注意しましょう。

#CALC!は、FILTERの抽出結果が0件のときに出ます。3つ目の引数で空のときの表示を決めておきます。

=FILTER(経費明細!A2:D200,経費明細!D2:D200="営業部","該当なし")

落とし穴:IFERRORで全部消すのは危険

生徒:でも、IFERRORで0にしておけば合計は出ますよね?
コーチ:出ます。ただ、マスタの登録漏れも、参照切れも、全部「0円」に化けます。合計が静かに間違ったまま、誰も気づかないんです。

IFERRORは「エラーが出ることが想定内で、原因も分かっている」場所だけに使いましょう。原因が分からないエラーは、[数式]タブの「エラーチェック」や「参照元のトレース」で追いかけるのが近道です。

経理マンの一言

経理の仕事で怖いのは、エラーが出ることより「エラーが消えていること」です。月次の集計表で#N/Aを全部0にした結果、新規取引先の請求が丸ごと漏れていた、という話は珍しくありません。私は集計表の端に「エラー件数」のセルを置き、0件であることを確認してから数字を報告するようにしています。エラーは隠すものではなく、チェックの道具。そう考えると、あの赤っぽい文字列も少しだけ頼もしく見えてきます。

まとめ

エラー値は種類ごとに原因がほぼ決まっています。#N/Aは型と空白、#VALUE!は文字列、#REF!は削除、#DIV/0!は分母を疑う。この4つを押さえるだけで、実務のエラーの大半は片づきます。そしてIFERRORは最後の手段。この記事をブックマークして、困ったときの辞書として使ってください。

次回は、エラーの元になりやすい「表記ゆれ・空白・全角半角」を一括で整える方法を取り上げる予定です。

Excel関数の基本が学べる教科書 (一冊に凝縮 Compact Edition) | 青木志保 |本 | 通販 | Amazon
Amazonで青木志保のExcel関数の基本が学べる教科書 (一冊に凝縮 Compact Edition)。アマゾンならポイント還元本が多数。青木志保作品ほか、お急ぎ便対象商品は当日お届けも可能。またExcel関数の基本が学べる教科書 (一…

コメント

タイトルとURLをコピーしました