関数または計算式の数値に問題があるときなどに表示されます。
数値を指定しなければならない引数に文字列を指定したり、引数に指定する数値の範囲を超えたときなどに発生します。
下図は、セル範囲A1:A3のデータから「2番目に小さい」数値をSMALL関数で求めています。
ところが、順位を指定する第2引数(ここでは、セルC1を参照している)に、無効な数値を指定すると「#NUM!」エラーが発生します。
「#NUM!」エラーの多くは、引数に無効な数値を指定しているのが原因です。たとえば上図は、セル範囲A1:A3のデータから「5番目に小さい」数値をSMALL関数で求めていますが、判定の対照となるセル範囲A1:A3には数値が3つしか存在しないため「#NUM!」エラーになります。SMALL関数の2番目の引数には1から3までの数値しか指定できないのに、その範囲を超える5を指定したのが原因です。
「#NUM!」エラーは「誤った数値」が引数に指定されると発生します。ここでいう引数とは、処理を決めるタイプの引数と考えればいいでしょう。たとえば上図のSMALL関数が「#NUM!」エラーになったのは、順位を判定できるセルが3個に対して「5番目に小さい」順位を2番目の引数で指定したのが原因です。下図は、セルA1に入力した日付の曜日番号をWEEKDAY関数で求めています。WEEKDAY関数の第2引数には1から3までの数値しか指定できないので「#NUM!」エラーが発生しています。
希なケースでは、数式の結果がExcelの扱える範囲を超えた場合にも「#NUM!」エラーが発生します。Excelで扱える数値の範囲は、-1×10^307から1×10^307までです。これを超えるような結果の数式は「#NUM!」エラーとなります。
ほとんどのケースは、処理を決めるタイプの引数に誤った数値を指定しているのが原因です。関数の引数をよく見て、正しい範囲の数値を指定しているかどうかを確認してください。