エクセルのエラーについてまとめました。流し読みしてもらえれば、大半の疑問は解消します。詳細記事へのリンクも貼ってあるので詳しく知りたい人はリンク先も読んでみてください。
エラー値の一覧
数式にエラーがあると、エラー値が表示されます。各エラー値に詳細記事へのリンクを貼ってあります。リンク先では修正方法や回避方法を解説しています。
エラー値 | ERRORTYPE関数の 戻り値 | 説明 |
---|---|---|
#NULL! | 1 | NULL intersection セル指定の「:(コロン)」や「,(カンマ)」がない 積集合の要素がない |
#DIV/0! | 2 | DIVided by 0 ゼロで割り算をしている |
#VALUE! | 3 | Wrong type VALUE 値が不適切 |
#REF! | 4 | A REFerence to a cell that does not exist 無効なセルを参照している |
#NAME? | 5 | Unrecognized NAME 関数名が正しくない 符号忘れ |
#NUM! | 6 | An invalid NUMber 数値が指定できる範囲を超えている |
#N/A | 7 | Not Available value 引数が参照範囲内で見つからない |
エラーチェック
エラーインジケーター
エクセルはデフォルト設定ではエラーチェックを自動で行うようになっています。エラーチェックのルールに該当するセルとエラー値が返されているセルには左上に三角マークが付きます。このマークをエラーインジケーターといいます。
エラーを無視する
エラーの種類によっては無視しても問題ないケースもあります。インジケーターの表示が煩わしい場合は!アイコンをクリックしエラーを無視するを選択するとインジケーターは非表示になります。
!アイコンを押すとメニューが表示されます。
エラーを無視するを選択すると、左上のインジケーターが消えます。
エラーチェックの設定
エラーチェックの設定ダイアログはファイル→オプション→数式タブ内にあります。
設定ダイアログは!アイコンから呼び出すこともできます。
エラー値を無視して計算する(AGGREGATE関数)
通常、参照内にエラー値があると数式はエラー値を返します。エラー値を無視して計算したい場合はAGGREGATE関数を使用します。
=AGGREGATE(引数1:集計方法, 引数2:オプション, 引数3:範囲 1, [引数4:範囲 2], …)
=AGGREGATE(9,6,D2:D5)
引数2に6を指定するとエラー値を無視して計算します。
サンプルはD3セルに#DIV/0!が返っていますが、それを無視して合計値が算出されています。
エラー値を表示しない
エラー値をどうしても回避できない場合は、エラー値を非表示にするか代替値を表示します。IFERROR関数やISERROR関数、条件付き書式を使用します。
IFERROR関数
=IFERROR(引数1:値, 引数2:エラーの場合の値)
=IFERROR(B3/C3,0) …引数1,引数2
C3セルが0なので引数1の評価は#DIV/0!です。よって、引数2の0が返ります。
ISERROR関数
ISERROR関数 はIF関数 と組み合わせることで、エラー値を非表示にできます。
=IF(ISERROR(B3/C3),”エラーです”,”エラーではありません“)
前項のIFERROR関数 は、B3/C3がエラー値ではない場合B3/C3しか返せません。ISERROR関数 はB3/C3がエラー値でない場合も返す値を指定できます。用途によって使い分けましょう。
条件付き書式
条件付き書式を使用して、エラー値を非表示にすることもできます。
条件付き書式→新しいルールで指定の値を含むセルだけを書式設定を選択し、下に表示されるドロップダウンリストからエラーを選択します。
書式ボタンでフォント色を白に指定します。
#DIV/0!が非表示になりました。
####(ハッシュマーク)が表示される
セルに#(ハッシュマーク)が表示される場合、2つの原因があります。
列の幅が不足している
セルの内容に対して表示幅が不足していると#(ハッシュマーク)が表示されます。
書式設定でも表示幅を変更できます。
- 小数点の桁数変更→桁数を減らす
- 日付の表示方法変更→年,月,日表示を月,日表示にする
時刻や日付が負の値になっている
デフォルトのファイルは「1900年の日付システム」を使用しています。このシステムは時刻や日付が負の値だと表示が#(ハッシュマーク)になります。特に時間の計算でありがちです。