#NULL!エラーが出る理由と直し方

合計を出そうとしただけなのに#NULL!と表示された。見慣れないエラーで検索しても情報が少なく、原因が分からず手が止まってしまう。そんな場面のための記事です。結論から言うと、#NULL!エラーは数式の中の半角スペースが「共通部分を求める演算子」として働いてしまったことが原因です。この記事では、なぜスペースがエラーの引き金になるのか、コロン・カンマ・スペースの使い分け、そして交差演算子を逆に武器として使う方法まで解説します。

目次

#NULL!エラーの意味と発生条件

#NULL!(Null=空)エラーは、指定した2つのセル範囲に共通部分がないときに発生します。Excelでは半角スペースが「交差(共通部分)を求める演算子」として定義されており、2つの範囲をスペースで結ぶと、その両方に含まれるセルを返します。共通部分が1つもなければ結果は空になり、#NULL!が表示されます。

ほかのエラーと比べると遭遇頻度は低く、そのぶん見慣れないため戸惑いやすいエラーです。数式の参照先が消えて起こる#REF!エラーの原因と直し方や、0で割ったときの#DIV/0!エラーと違い、ほぼ100%が入力ミスである点が特徴といえます。

参照演算子3種類の違い(コロン・カンマ・スペース)

次のような月別の販売数の表(A1:D4)を例に見ていきます。1行目が見出しで、A列が商品名、B列が4月、C列が5月、D列が6月の販売数です。

A(商品名) B(4月) C(5月) D(6月)
2 ボールペン 120 150 130
3 ノート 200 180 210
4 マーカー 90 110 100

Excelには範囲を指定するための演算子が3種類あり、それぞれ意味がまったく違います。

コロン(:)は連続した範囲

A列が商品名、B〜D列が月別販売数の表で、ボールペンの4〜6月の合計を求める数式です。

=SUM(B2:D2)

120+150+130で400が返ります。B2からD2まで連続したセルをひとつの範囲として扱う、というのがコロンの意味です。

カンマ(,)は複数の範囲をまとめる

4月と6月だけを合計したい場合は、離れた2つの範囲をカンマでつなぎます。

=SUM(B2:B4,D2:D4)

B列(4月)の120+200+90=410と、D列(6月)の130+210+100=440を足して、850が返ります。カンマは「あれもこれも」と足し合わせる意味です。複数条件を足し合わせる集計はエクセルのSUMIFS関数でOR条件の集計をする方法でも詳しく扱っています。

半角スペースは共通部分だけを残す

同じ2つの範囲を、カンマではなく半角スペースでつないでみます。

=SUM(B2:B4 D2:D4)

B列とD列に共通するセルは1つもありません。そのため結果は空となり、#NULL!が表示されます。「カンマを打ったつもりでスペースが入っていた」というのが、#NULL!のもっとも多い発生パターンです。

もう1つ多いのが、コロンをスペースで打ってしまうケースです。=SUM(B2 B4)と書くと、B2とB4という単独のセル2つの共通部分を求めることになり、やはり#NULL!になります。

#NULL!エラーの直し方

  • 数式バーでスペースの位置を目視する: エラーの出ているセルを選択してF2キーを押すと、参照している範囲が色付きの枠で表示されます。意図した範囲が囲まれていなければ、そこが原因箇所です。
  • スペースをコロンかカンマに打ち替える: 連続した範囲を指定したいならコロン、離れた範囲を足したいならカンマです。どちらのつもりだったかで判断します。
  • 範囲はマウスで選択して入力する: 手打ちをやめて、数式入力中に対象範囲をドラッグして選ぶようにすれば、コロンやカンマは自動で入ります。離れた範囲はCtrlキーを押しながら選択すると、カンマ区切りで入力されます。
  • ERROR.TYPEで種類を確認する: エラーの種類を機械的に判定したい場合、ERROR.TYPE関数は#NULL!に対して1を返します。ちなみに#DIV/0!は2、#VALUE!は3、#REF!は4、#NAME?は5、#NUM!は6、#N/Aは7です。

交差演算子をあえて使うと便利な場面

半角スペースは、意図して使えば表から目的のセルを直感的に取り出せる機能でもあります。A列が商品名、B〜D列が月別販売数の表で、次のように書いてみます。

=SUM(B2:D2 C1:C4)

B2:D2はボールペンの行、C1:C4は5月の列です。この2つが交わるセルはC2の1つだけなので、ボールペンの5月の販売数150が返ります。

さらに便利なのが名前の定義との組み合わせです。A1:D4を選択して「数式」タブ>「選択範囲から作成」で上端行と左端列にチェックを入れると、行名と列名がそのまま名前として登録されます。すると次のような数式が書けます。

=ノート 5月

ノートの行と5月の列が交わるC3の値、180が返ります。セル番地を一切書かずに、日本語だけで目的の値を取り出せるのが交差演算子の強みです。ただしこの書き方は読み手が仕組みを知らないと混乱を招くため、共有するブックでは使いどころを選びましょう。

よくあるエラー・注意点

  • 全角スペースだと#NULL!ではなく#NAME?になる: 交差演算子として機能するのは半角スペースだけです。全角スペースが混ざった場合、Excelはその部分を名前の一部と解釈しようとして#NAME?を返します。エラーの種類でどちらのスペースが入ったかを見分けられます。詳しくは#NAME?エラーが出たときの確認ポイントをご覧ください。
  • 数式を見やすくしようとしてスペースを入れない: 長い数式に空白を入れて整形したくなりますが、範囲と範囲の間に入れると意味が変わってしまいます。読みやすくしたい場合はAlt+Enterで数式内改行を使いましょう。
  • 名前の定義が消えると別のエラーになる: 交差演算子を名前と組み合わせて使っていると、名前を削除したときに#NULL!ではなく#NAME?が出ます。名前に依存した数式は、ブックをコピーして使い回すときに注意が必要です。
  • 関数の引数区切りとしてのカンマと混同しない: SUM(B2:B4,D2:D4)のカンマは範囲を足し合わせる意味ですが、VLOOKUPの引数を区切るカンマとは役割が別です。IFERRORなどで包んで数式が長くなるほど、どのカンマがどの役割かが見えにくくなります。
  • 計算結果が想定外に小さいときは交差が働いている可能性: #NULL!が出ずに数値が返っていても、意図せずスペースが入って共通部分だけが集計されていることがあります。合計が明らかに小さいときは参照演算子を疑ってみてください。数値として無理な計算になっている#NUM!エラーの原因と対処法のケースもあわせて確認しましょう。

まとめ

#NULL!エラーは、半角スペースが交差演算子として働き、共通部分のない2つの範囲を指定してしまったときに出ます。原因のほとんどはカンマやコロンの打ち間違いなので、数式バーでスペースの位置を確認して打ち替えれば解決します。逆に意図して使えば、行と列の名前だけで目的のセルを取り出せる便利な機能でもあります。関数名や名前が認識されないときの#NAME?エラーが出たときの確認ポイントや、数値として計算が成立しないときの#NUM!エラーの原因と対処法もあわせてご覧ください。

SUM関数そのものの基本的な使い方はSUM関数の基本的な使い方|合計を計算する方法でも解説しています。あわせてご覧ください。

目次