TYPE 関数は、値の種類を番号で返す関数です(数値=1、文字=2、TRUE・FALSE=4、エラー=16、配列=64)。ERROR.TYPE 関数は、エラーの種類を番号で返します(#DIV/0!=2、#N/A=7 など)。
エラーをまとめて空白にする IFERROR とちがい、エラーの種類ごとに表示を分けられます。この記事では、2 つの関数の使い方を、実際の Excel で確かめた結果で説明します。
TYPE・ERROR.TYPE 関数の書き方
=TYPE(値)
=ERROR.TYPE(エラー値)
| 関数 | 返す番号 |
|---|---|
| TYPE の結果 | 1=数値、2=文字、4=論理値、16=エラー、64=配列 |
| ERROR.TYPE の結果 | 1=#NULL!、2=#DIV/0!、3=#VALUE!、4=#REF!、5=#NAME?、6=#NUM!、7=#N/A |
ERROR.TYPE は、エラーでない値には #N/A を返します。
1. 値の種類を調べる(TYPE)
I2 に式を入れて、下へコピーします。
=TYPE(A2)

123 は 1、abc は 2、TRUE は 4、#DIV/0! と #N/A はどちらも 16 でした。
2. エラーの種類を調べる(ERROR.TYPE)
同じ値に ERROR.TYPE を使います。
=ERROR.TYPE(A2)

#DIV/0! は 2、#N/A は 7 でした。エラーでない 123 などは #N/A になります。
3. エラーの種類ごとに表示を変える
エラーなら ERROR.TYPE の番号で文字を分け、エラーでなければ「OK」と表示します。
=IF(ISERROR(A2),SWITCH(ERROR.TYPE(A2),2,"0 で割った",7,"見つからない","その他のエラー"),"OK")

#DIV/0! は「0 で割った」、#N/A は「見つからない」、それ以外は「OK」になりました。
【実機で検証】TYPE でつまずくところ

| ためしたこと | 式 | 結果 |
|---|---|---|
| 空白のセル(A12)の TYPE | =TYPE(A12) | 1 |
| 空の文字(””)の TYPE | =TYPE("") | 2 |
| 日付(DATE(2026,4,1))の TYPE | =TYPE(DATE(2026,4,1)) | 1 |
| 配列({1,2,3})の TYPE | =TYPE({1,2,3}) | 64 |
| #VALUE! の ERROR.TYPE | =ERROR.TYPE("a"+1) | 3 |
| #NAME? の ERROR.TYPE | =ERROR.TYPE(ABCD()) | 5 |
空白のセルの TYPE は 1 で、数値と同じになりました。空の文字 “” は 2(文字)です。見た目が空でも、数式の “” と本当の空白は区別されます。
日付の TYPE は 1 でした。日付は Excel では数値(シリアル値)だからです。配列は 64 です。
#VALUE! の ERROR.TYPE は 3、#NAME? は 5 でした。
よくある質問
エラーをまとめて空白にしたいときは?
種類を区別しないなら IFERROR 関数が手軽です。#N/A だけなら IFNA を使います。
エラーの意味と直し方を知りたいときは?
エラーの種類ごとの原因と直し方は エラー値の一覧と直し方で説明しています。
数値か文字かだけ調べたいときは?
ISNUMBER・ISTEXTのほうが TRUE・FALSE で分かりやすいです。
あわせて読みたい:関連記事
セルの種類やアドレス・表示形式を調べるなら、CELL関数の使い方もあわせてご覧ください。

コメント