締め日の夕方、集計表に「#N/A」がズラッと並んだときの、あの胃がキュッとなる感じ。52歳になっても慣れません。でもエラー値は「どこがおかしいか」を教えてくれるメッセージです。意味さえ分かれば、ほとんどは数分で直せます。この記事は、困ったときに開く“辞書”として使ってください。
エラー値はExcelからの「ヒント付きメッセージ」
| エラー値 | ひとことで言うと | よくある原因 |
|---|---|---|
| #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で包むのがおすすめです。
#VALUE!:文字列を計算しようとした
「1,000円」のように単位付きで入力された金額や、全角数字を足し算すると出ます。見た目は数字でも、Excelにとっては文字です。
=VALUE(SUBSTITUTE(SUBSTITUTE(C2,"円",""),",",""))
数値に直したうえで計算します。セルの左上に緑の三角が出ていたら「文字列として保存された数値」のサインです。
#REF!:参照先のセルが消えた
数式が参照している行・列・シートを削除すると出ます。数式バーを見ると、参照部分そのものが「#REF!」に置き換わっているのが特徴です。気づいたらすぐCtrl+Zで戻すのが最速です。VLOOKUPで列番号が範囲の列数を超えている場合にも出ます。
#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は「エラーが出ることが想定内で、原因も分かっている」場所だけに使いましょう。原因が分からないエラーは、[数式]タブの「エラーチェック」や「参照元のトレース」で追いかけるのが近道です。
経理マンの一言
経理の仕事で怖いのは、エラーが出ることより「エラーが消えていること」です。月次の集計表で#N/Aを全部0にした結果、新規取引先の請求が丸ごと漏れていた、という話は珍しくありません。私は集計表の端に「エラー件数」のセルを置き、0件であることを確認してから数字を報告するようにしています。エラーは隠すものではなく、チェックの道具。そう考えると、あの赤っぽい文字列も少しだけ頼もしく見えてきます。
まとめ
エラー値は種類ごとに原因がほぼ決まっています。#N/Aは型と空白、#VALUE!は文字列、#REF!は削除、#DIV/0!は分母を疑う。この4つを押さえるだけで、実務のエラーの大半は片づきます。そしてIFERRORは最後の手段。この記事をブックマークして、困ったときの辞書として使ってください。
次回は、エラーの元になりやすい「表記ゆれ・空白・全角半角」を一括で整える方法を取り上げる予定です。

コメント