「このセルは数値のはずなのに、SUM関数で合計できない……」
Excelを使っていると、こんな場面に出くわすことがありますよね。見た目が同じでもデータ型が違えば、計算や集計はうまくいきません。しかもデータ型は見た目では判断できないのがやっかいなところです。
そんなときに活躍するのがExcelのTYPE関数です。セルに入っている値のデータ型を数値コードで返してくれるので、「このセルには何が入っているのか」を一発で確認できます。
この記事では、TYPE関数の基本構文からCSVデータ品質チェックの実践手順まで解説します。さらにCELL関数やIS系関数との使い分けもまとめて紹介しますね。
NOTE
この記事は次のような人におすすめ
– セルのデータ型(数値・文字列・論理値)を調べたい
– CSVインポート後のデータ品質を効率よくチェックしたい
– TYPE関数とIS系関数のどちらを使うべきか迷っている
ExcelのTYPE関数とは?基本構文と戻り値一覧
TYPE(タイプ)関数は、指定した値のデータ型を数値コードで返す情報関数です。”TYPE”は英語で「型・種類」を意味します。数値なら1、文字列なら2、論理値なら4のように、データの種類に応じた番号を返します。
「このセルに何が入っているのか」を調べたいとき、TYPE関数を使えばデータ型を客観的に判定できます。
TYPE関数の構文
=TYPE(値)
引数は値の1つだけです。省略はできません。セル参照、直接入力した値、数式の結果のいずれも指定できます。
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| 値 | 必須 | データ型を調べたい値やセル参照 |
NOTE
TYPE関数はExcel 2003以降のすべてのバージョンで使えます。Microsoft 365でも同じ書き方で動作しますよ。
戻り値コード早見表(1・2・4・16・64・128)
TYPE関数が返す数値コードは6種類あります。
| 戻り値 | データ型 | 具体例 |
|---|---|---|
| 1 | 数値 | 100、-5、3.14、日付 |
| 2 | 文字列(テキスト) | “東京”、”abc”、’123 |
| 4 | 論理値 | TRUE、FALSE |
| 16 | エラー値 | #N/A、#VALUE!、#REF! |
| 64 | 配列 | {1,2,3} |
| 128 | 複合データ | Excelの特殊なデータ型 |
よく使うのは1(数値)と2(文字列)の2つです。この2つだけ覚えておけば、実務では十分やっていけます。
なぜTYPE関数が必要なのか
Excelでは見た目が同じでも、データ型が違うケースがよくあります。たとえばセルに「123」と表示されていても、数値の123と文字列の”123″ではまったく別物です。
文字列の”123″はSUM関数で合計されません。VLOOKUP関数でも検索値と型が一致しないとヒットしません。こうした「見た目で判別できない型の違い」を発見するのがTYPE関数の役割です。
とくにCSVファイルのインポート後は要注意です。Excelが文字列を数値に自動変換したり、逆に数値が文字列のまま残ったりすることがあります。TYPE関数でデータ型を確認するクセをつけておくと、集計トラブルを未然に防げますよ。
TYPE関数の基本的な使い方
数値・文字列・論理値を判別する
まずはシンプルな例で動きを確認してみましょう。
| A列の値 | 数式 | 結果 | 意味 |
|---|---|---|---|
| 100 | =TYPE(A2) | 1 | 数値 |
| 東京 | =TYPE(A3) | 2 | 文字列 |
| TRUE | =TYPE(A4) | 4 | 論理値 |
| #N/A | =TYPE(A5) | 16 | エラー値 |
| 2026/3/22 | =TYPE(A6) | 1 | 日付(数値) |
| (空白) | =TYPE(A7) | 1 | 空白(数値扱い) |
セル参照で使うのがもっとも基本的な使い方です。
=TYPE(A2)
数式の結果を直接判定することもできます。VLOOKUPが成功して数値を返せば1、#N/Aエラーなら16が返ります。
=TYPE(VLOOKUP("商品A",A:B,2,0))
IF関数と組み合わせてデータ型に応じた処理をする
TYPE関数の戻り値をIF関数の条件に使うと、データ型に応じた処理の分岐ができます。
=IF(TYPE(A2)=1,A2*1.1,"対象外")
この数式は、セルA2が数値(戻り値1)なら1.1倍の値を計算します。数値以外なら「対象外」を返します。
SWITCH関数と組み合わせれば、複数のデータ型を一度に分岐させることも可能です。
=SWITCH(TYPE(A2),1,"数値",2,"文字列",4,"論理値",16,"エラー","その他")
戻り値の番号を覚えなくても、データ型名を直接表示できるので便利ですよ。
TYPE関数の3大ハマりポイント
TYPE関数そのものでエラーが出ることはほとんどありません。ただし、戻り値の解釈で「あれ?」と思う場面があります。よくあるハマりポイントを3つ押さえておきましょう。
日付を入れると「1(数値)」が返る理由
日付セルにTYPE関数を使うと、戻り値は1(数値)です。「日付なのに数値?」と思うかもしれません。
これはExcelの仕様です。Excelの日付は内部的にシリアル値(連番の数値)で管理されています。たとえば2026/3/22は内部的には46097という数値です。表示形式で日付に見えているだけなので、TYPE関数は正しく1を返します。
日付かどうかを判定したい場合は、別の方法を検討してください。CELL関数やTEXT関数を組み合わせるアプローチが有効ですよ。
空白セルで「1」が返るケースと対処法
空白セルにTYPE関数を使っても、戻り値は1(数値)です。空白セルはExcel内部で数値の0として扱われるためです。
「空白かどうか」を判定したい場合は、TYPE関数だけでは対応できません。ISBLANK関数を併用しましょう。
=IF(ISBLANK(A2),"空白",TYPE(A2))
この数式なら、空白セルは「空白」と表示されます。空白でなければTYPE関数の戻り値を返します。空白と数値を区別したいときの定番パターンです。
文字列数字(’123)は「2(文字列)」になる
セルに「’123」のようにアポストロフィ付きで入力された数字は、見た目は123ですが内部的には文字列です。TYPE関数は正しく2(文字列)を返します。
これはバグではなく正しい動作です。文字列型の数字はSUM関数で合計されません。数値に変換したい場合は、VALUE関数やセルを選択してF2→Enterの操作で対応できます。
CSVインポート後に「数値のはずなのに集計できない」というトラブルは、この文字列数字が原因であることが多いです。TYPE関数で型を確認するクセをつけておくと安心ですよ。
実務活用:CSVデータ品質チェック3ステップ
CSVファイルをExcelにインポートした後、データ型が意図どおりか確認する実践的な方法を紹介します。TYPE関数を使えば、たった3ステップで品質チェックが完了します。
Step1:TYPE関数で型をリストアップする
まず、チェック対象の列の隣に作業列を追加します。
たとえばB列に金額データが入っている場合、C2セルに次の数式を入力して下方向にコピーします。
=TYPE(B2)
これでB列の各セルのデータ型が数値コードで一覧表示されます。金額データなら全行が1(数値)になるはずです。もし2(文字列)が混じっていたら、そのセルは要注意です。
Step2:IF関数でNG行にフラグを立てる
次に、データ型が期待と異なる行にフラグを立てます。金額列は数値であるべきなので、数値以外の行を検出します。
=IF(ISBLANK(B2),"空白",IF(TYPE(B2)<>1,"NG","OK"))
この数式のポイントは、ISBLANK関数で空白を先に判定していることです。TYPE関数は空白セルでも1を返すため、空白チェックを先に入れないと見落としてしまいます。
Step3:COUNTIFで異常件数を集計する
最後に、フラグの集計です。NG件数と空白件数をCOUNTIF関数でカウントします。
=COUNTIF(D:D,"NG")
=COUNTIF(D:D,"空白")
この3ステップで、CSVインポート後のデータ品質を素早くチェックできます。数百行のデータでも、フラグとカウントで異常箇所をすぐに特定できるのがポイントです。
競合サイトではTYPE関数単体の説明で終わることが多いです。ですが実務では、こうした品質チェックの流れで使うのが本来の活用法です。ぜひ試してみてください。
CELL関数の”type”との違いと使い分け
TYPE関数とよく混同されるのが、CELL関数の”type”引数です。名前が似ているので紛らわしいですが、機能はまったく異なります。
CELL(“type”,A1)の戻り値との対応表
| データの状態 | TYPE関数の戻り値 | CELL(“type”,A1)の戻り値 |
|---|---|---|
| 数値(100) | 1 | “v” |
| 文字列(”東京”) | 2 | “l”(小文字のL) |
| 論理値(TRUE) | 4 | “v” |
| エラー値(#N/A) | 16 | “v” |
| 配列 | 64 | “v” |
| 空白セル | 1 | “b” |
TYPE関数は数値・論理値・エラー・配列をすべて区別できます。一方、CELL(“type”)はこれらをまとめて”v”で返します。
逆にCELL(“type”)は空白セルを”b”で明確に判別できます。TYPE関数は空白セルでも1(数値)を返すため、空白の判別は苦手です。
どちらを使うべき場面の判断軸
使い分けの基準はシンプルです。
- データ型を細かく分類したい → TYPE関数
- 空白セルを確実に検出したい → CELL(“type”)またはISBLANK関数
- 数値か文字列かだけ知りたい → どちらでもOK
実務では、TYPE関数をメインで使いつつ、空白判定だけISBLANK関数で補うパターンが多いです。CELL(“type”)は空白判定には強いですが、数値・論理値・エラーを区別できません。細かい分岐処理には向いていないので注意しましょう。
目的に応じて使い分けてみてくださいね。
TYPE関数とIS系関数の使い分け方
TYPE関数とIS系関数は、どちらもデータ型を調べる関数です。ただし得意分野が違います。ここでは両者の違いと使い分けの判断基準を整理します。
ISNUMBER・ISTEXTとの違い
| 比較項目 | TYPE関数 | IS系関数 |
|---|---|---|
| 戻り値 | 数値コード(1, 2, 4, 16, 64) | TRUE / FALSE |
| 判定範囲 | 5種類のデータ型を1つの数式で区別 | 1つのデータ型だけを判定 |
| IF関数との相性 | =IF(TYPE(A1)=2,…) と比較が必要 | =IF(ISTEXT(A1),…) とそのまま使える |
| SWITCH分岐 | 1つの数式で複数型に分岐可能 | 型ごとにネストが必要 |
ISNUMBER関数は「数値かどうか」だけをTRUE/FALSEで返します。ISTEXT関数は「文字列かどうか」だけを返します。どちらもシンプルで直感的に使えるのが強みです。
TYPE関数は1つの数式で5種類のデータ型を区別できます。SWITCH関数と組み合わせれば、複数のデータ型への分岐を1行で書けます。
使い分けチャート
迷ったときは、次の判断フローで選んでみてください。
- 「数値かどうか」だけ知りたい → ISNUMBER関数
- 「文字列かどうか」だけ知りたい → ISTEXT関数
- 「空白かどうか」だけ知りたい → ISBLANK関数
- 複数のデータ型で処理を分岐させたい → TYPE関数 + SWITCH関数
- エラーの種類まで特定したい → ERROR.TYPE関数
- CSVの型混在を一括チェックしたい → TYPE関数 + COUNTIF関数
ポイントは「1つの型だけ調べるならIS系、複数の型を仕分けるならTYPE」という基準です。単一の型チェックにTYPE関数を使うと、戻り値の比較が必要になり数式が冗長になります。逆に複数の型分岐をIS系関数で書くとIF関数のネストが深くなってしまいます。
場面に合った関数を選ぶことで、数式がシンプルになりますよ。
まとめ
ExcelのTYPE関数は、セルのデータ型を数値コードで返す関数です。この記事のポイントを振り返っておきましょう。
- 構文は =TYPE(値) で、引数は1つだけ
- 戻り値は1=数値、2=文字列、4=論理値、16=エラー、64=配列、128=複合データの6種類
- 日付はシリアル値(数値)として扱われるため、戻り値は1になる
- 空白セルも数値(0)扱いで1が返る。空白判定にはISBLANK関数を併用する
- CSVデータの品質チェックには、TYPE関数→IF関数でフラグ→COUNTIFで集計の3ステップが効果的
- CELL(“type”)は空白判定に強いが、数値・論理値・エラーの区別はできない
- IS系関数は単一の型チェックに、TYPE関数は複数の型分岐に向いている
TYPE関数は地味な存在ですが、データの品質管理では頼れる関数です。CSVインポート後や他システムからのデータ取り込み後に、ぜひ活用してみてください。
