Excelで数式を使っていると、#DIV/0! や #N/A のようなエラーが出ることがあります。エラーの種類によっては別の処理をしたいこともありますよね。そんなときに便利なのが ERROR.TYPE関数 です。この関数を使えば、エラーの種類を番号で判別し、条件分岐に活用できます。
ERROR.TYPE関数とは?
ERROR.TYPE関数は、指定したセルや数式のエラーの種類に応じて番号を返す関数です。
- エラーがない場合は #N/A を返します。
- エラーの種類ごとに異なる番号が割り当てられています。
書式
=ERROR.TYPE(エラー値)
- エラー値:エラーの種類を判定したいセルや数式を指定します。
使用例
- 0で割ったエラーを判定
=ERROR.TYPE(1/0)→ 結果:2(#DIV/0! エラー) - セル参照を使った例
=ERROR.TYPE(A1)A1にエラーがあれば対応する番号を返します。 - エラーがない場合
=ERROR.TYPE(100)→ 結果:#N/A(エラーなしの場合は #N/A)
エラー番号とエラー種類の対応表
| エラーの種類 | 戻り値 |
|---|---|
| #NULL! | 1 |
| #DIV/0! | 2 |
| #VALUE! | 3 |
| #REF! | 4 |
| #NAME? | 5 |
| #NUM! | 6 |
| #N/A | 7 |
| #GETTING_DATA | 8 |
活用例
- 条件分岐でエラー種類を判定
=IF(ERROR.TYPE(A1)=2,"0で割ったエラーです","他のエラーです")→ A1が#DIV/0!なら「0で割ったエラーです」と表示。 - エラーの種類に応じて別の計算を実行
エラー内容ごとに違う処理をしたいときに便利。
注意点
- エラーがないと#N/Aになる
エラーなしの場合はエラー番号ではなく#N/Aが返ります。 - Excel Servicesの#GETTING_DATAは特殊用途
通常のExcelデスクトップ版ではあまり使われません。 - IFERROR関数との使い分け
IFERRORはエラーの有無をまとめて処理、ERROR.TYPEはエラーの種類別に処理するときに使います。
関連関数
まとめ
ERROR.TYPE関数は、セル内で発生したエラーの種類を数値で判別できる関数です。
どの種類のエラーが起きているかを識別できるため、IF関数などと組み合わせて、エラーを自動で処理したり表示内容を切り替えるときにとても便利です。
特に複雑な数式を使うシートでは、トラブルの原因を素早く見つけるための診断ツールとして活用できます。
関連記事:IF関数の使い方