エクセルの#NUM!は、計算できない数値を求めた時に出るエラーです。負の数の平方根(=SQRT(-1))、扱える大きさを超える数(=10^400)、答えが見つからない計算(IRRなど)、範囲を超えた順位の指定(=LARGE(範囲,5) で範囲が3個しかない)で出ます。
エクセルのエラー値は全部で10種類ほどあり、どの記号が出たかで原因がほぼ決まります。この記事では、#NUM!を含むエラー値を一覧にし、実際のエクセルで再現した例と直し方をまとめました。
(確認環境:Microsoft 365 のエクセル(Windows・日本語版)。表の「再現した数式」はすべて実際のエクセルに入力して、表示を確認しています。2026年10月)
エラー値の一覧
| 表示 | 意味 | 再現した数式(例) | よくある原因 |
|---|---|---|---|
| #NUM! | 計算できない数値 | =SQRT(-1)、=10^400、=LOG(0) |
負の数の平方根、大きすぎる数、IRRが答えを見つけられない |
| #DIV/0! | 0で割った | =1/0、空白のセルで割る |
割る数のセルが空白か0 |
| #VALUE! | 計算に使えない値 | ="あ"+1 |
数値の計算に文字が混ざっている |
| #N/A | 見つからない | =VLOOKUP("x",…,FALSE) |
検索した値が表に無い |
| #NAME? | 名前が分からない | =SUMM(1) |
関数名のつづり間違い、文字列を “” で囲み忘れ |
| #REF! | 参照先が無い | 参照していた列を削除 | 行・列・シートの削除 |
| #NULL! | 範囲が重ならない | =SUM(Z1 Z2) |
カンマ(,)やコロン(:)の代わりに空白を入れた |
| #スピル! | 結果を広げる先がふさがっている | =SEQUENCE(3) の下のセルに値がある |
複数の結果を返す数式の下や右にデータがある |
| #CALC! | 計算結果が空 | =FILTER(…) で条件に合うものが無い |
FILTERなどの結果が0件 |
| #### | (エラーではない)表示しきれない | 列幅を狭くする、日付に負の数 | 列幅が足りない、日付・時刻がマイナス |
日本語版のエクセルでは、スピルのエラーは英語の「#SPILL!」ではなく「#スピル!」と表示されます(実際のエクセルで確認)。英語のサイトの解説を読む時は、同じエラーだと思って読み替えてください。
スポンサードサーチ
#NUM!の原因と直し方
1. 数学的に計算できない値を入れている
負の数の平方根(=SQRT(-1))や、0以下の数の対数(=LOG(0))は、数学的に答えがありません。元のセルにマイナスや0が入っていないかを確認します。マイナスを含めて計算したい場合は、=SQRT(ABS(A1)) のように絶対値にするかどうかを、計算の目的に合わせて決めます。
2. 扱える大きさを超えている
=10^400 のように、エクセルが扱える数の範囲を超えると#NUM!になります。べき乗や掛け算を重ねる数式で、途中の値が大きくなりすぎていないかを確認します。
3. 答えを探す関数が答えを見つけられない
IRR(内部収益率)やRATEのように、計算を繰り返して答えを探す関数は、答えが見つからないと#NUM!になります。例えば =IRR({1,1,1}) は、支出(マイナス)が無いため答えがありません。キャッシュフローに支出と収入の両方が入っているかを確認し、必要なら推定値の引数を指定します。
4. 範囲を超えた順位・位置を指定している
=LARGE(Z1:Z3,5) のように、3個しかない範囲で「5番目に大きい値」を求めると#NUM!になります。SMALLも同じです。順位の引数が、範囲の個数を超えていないかを確認します。
以前の版の訂正
この記事の以前の版では、「0で割ると#NUM!になる」「全角の数字は文字として扱われて#NUM!になる」と書いていましたが、誤りでした。実際のエクセルで確認すると、0で割ると#DIV/0!になり、全角で入力した「5」は数値の5として扱われ、計算もできました。お詫びして訂正します。
ほかのエラーの直し方(要点)
#DIV/0!
割る数が0か空白です。まだデータが入っていない行で出ることが多いので、=IF(B2="","",A2/B2) のように空白の時は計算しない形にします。詳しくはエクセルのDIV/0!エラーの原因と解決策にまとめています。
#N/A
VLOOKUPやXLOOKUPで、探した値が見つからない時に出ます。検索する値に余分な空白が無いか、数値と文字列(”123″と123)が混ざっていないかを確認します。見つからない時に別の表示にしたい場合は、=IFNA(VLOOKUP(…),"なし") を使います(実際に「なし」と表示されることを確認)。
#VALUE!
数値の計算に、計算できない文字が混ざっています。なお、="5"+1 のように数字だけの文字列は自動で数値として計算されます(結果は6)。#VALUE!になるのは「あ」のように数値として読めない文字が入っている時です。
#REF!
数式が参照していた行・列・シートを削除すると、数式の中身が =#REF!*2 のように書き換わります(実際のエクセルで確認)。削除した直後なら Ctrl+Z で元に戻すのが一番確実です。
#スピル!
結果が複数のセルに広がる数式(SEQUENCE・FILTER・UNIQUEなど)の、広がる先にデータがあります。エラーのセルを選ぶと広がる予定の範囲が点線で表示されるので、その中のデータを動かします。
スポンサードサーチ
エラーを別の表示に置き換える
原因が分かっていて、表を見やすくしたいだけなら、IFERRORでエラーを別の表示に置き換えられます。=IFERROR(1/0,"-") は「-」と表示されます(実際に確認)。
ただし、IFERRORはすべてのエラーを隠してしまいます。本当は直すべき数式の間違い(#NAME?や#REF!)まで見えなくなるので、使うのは原因を確認した後にしてください。#N/Aだけを置き換えたい場合はIFNAの方が安全です。
まとめ
- #NUM!は計算できない数値(負の数の平方根・大きすぎる数・答えの出ないIRR・範囲を超えた順位)
- 0で割った時は#DIV/0!、見つからない時は#N/A、つづり間違いは#NAME?
- 日本語版では#SPILL!ではなく#スピル!と表示される
- ####はエラーではなく、列幅不足か日付のマイナス
- IFERRORは原因を確かめてから使う
入力時に出るエラーメッセージはデータの入力規則でエラーメッセージが出た時の解決方法、ファイルが開けない時はエクセルが読み取り専用でしか開けなくなった時の解除方法にまとめています。
Microsoft 365 は Amazon からも購入できます。Word・Excel・PowerPoint・Outlook に加えて、1TB のクラウドストレージが付きます。
1年版のほうが月あたりは安くなりますが、使い続けるか分からない段階なら1か月版から始められます。
Office 2021 などの買い切り版でも、この記事の操作は同じようにできます。価格やキャンペーンは変動するため、最新の条件はリンク先でご確認ください。


