ExcelのTYPE関数とは?データ型の確認と数値・文字列の変換方法を解説

コラム・裏ワザ
勇者たんたん
勇者たんたん

同じように見える数字なのに、数式で計算できなかったり、VLOOKUP関数で検索できなかったりします……。何が違うのでしょうか?

Excelでは、見た目が同じ「100」でも、数値と文字列では異なるデータとして扱われます。

データ型が異なると、数式で正しく計算できなかったり、検索関数で同じ値として認識されなかったりすることがあります。

セルに入力された値が数値と文字列のどちらか分からない場合は、TYPE関数でデータ型を確認できます。

TYPE関数はデータ型を判定する関数であり、数値と文字列を変換する関数ではありません。データ型を確認した後、必要に応じてVALUE関数やTEXT関数で変換します。

この記事では、TYPE関数の使い方と返り値の意味を、数値と文字列を確認する例で解説します。

文字列として保存された数値を数値へ変換する方法と、数値を指定した表示形式の文字列へ変換する方法も確認しましょう。

今回のゴール

TYPE関数でセルのデータ型を確認し、必要に応じて数値または文字列へ変換できるようになる

TYPE関数とはデータ型を確認する関数

TYPE関数は、指定した値のデータ型を数字で返す関数です。

セルに入力された値が数値なのか文字列なのか、見た目だけでは判断できない場合に使用します。

TYPE関数

=TYPE(値)

引数
値:データ型を確認したいセル・値・数式

機能
指定した値のデータ型を番号で返す関数

主な結果
数値 → 1
文字列 → 2

TYPE関数の構文

=TYPE(値)

「値」には、データ型を確認するセルや数式、値を指定します。

たとえば、セルA2に入力された値のデータ型を確認する場合は、次の数式を入力します。

=TYPE(A2)

セルA2に数値が入力されていれば「1」、文字列が入力されていれば「2」が表示されます。

TYPE関数が返す番号はセルの値ではなく、データ型を表しています。

TYPE関数の返り値

TYPE関数は、確認した値のデータ型に応じて、次の数字を返します。

TYPE関数の返り値
  • 1:数値
  • 2:文字列
  • 4:論理値
  • 16:エラー値
  • 64:配列
  • 128:複合データ

すべての返り値を最初から覚える必要はありません。

数値と文字列の違いを確認する場合は、「1=数値」「2=文字列」の2つを覚えておけば十分です。

TRUEとFALSEは論理値

TRUEまたはFALSEをTYPE関数で確認すると、論理値を表す「4」が表示されます。

エラーが入力されたセルを確認した場合は、エラー値を表す「16」が表示されます。

TYPE関数では数式の有無を確認できない

TYPE関数が確認するのは、セルへ入力された数式そのものではなく、数式によって返された結果のデータ型です。

たとえば、セルA2に「=10+20」と入力されている場合、計算結果の30は数値であるため、TYPE関数は「1」を返します。

A2=10+20

=TYPE(A2)
→1(TYPE関数の結果:数値)
TYPE関数はデータ型を変換しない

TYPE関数で「2」と表示されても、文字列が数値へ変わるわけではありません。

TYPE関数でデータ型を確認した後、必要に応じて数値または文字列へ変換してください。

TYPE関数の「1」は数値、「2」は文字列を表します。

次は、見た目が同じ数字をTYPE関数で確認し、数値と文字列を見分ける方法を解説します。

TYPE関数で数値と文字列を見分ける

見た目が同じ数字でも、Excelでは数値と文字列が区別されています。

TYPE関数を使うと、セルに入力された数字が数値と文字列のどちらとして保存されているか確認できます。

数値のデータ型を確認する

セルA2に数値の「100」が入力されている場合は、別のセルへ次の数式を入力します。

A2=100 (数値)
=TYPE(A2)

結果:1

TYPE関数の結果に「1」が表示された場合は、セルA2の値が数値として保存されています。

数値は、足し算や掛け算などの計算に使用できます。

文字列のデータ型を確認する

セルA3に文字列として保存された「100」が入力されている場合も、同じようにTYPE関数で確認します。

A3=100 (文字列)
=TYPE(A3)

結果:2

TYPE関数の結果に「2」が表示された場合は、セルA3の値が文字列として保存されています。

文字列の「100」は見た目が数値と同じでも、数式や関数で数値として扱えない場合があります。

文字列か数値かの確認画面
見た目が同じ「100」でも、数値は「1」、文字列は「2」が表示されます。
数値と文字列の違い
  • 数値→TYPE関数の結果:1
    計算に使用できる
  • 文字列→TYPE関数の結果:2
    見た目が数字でも、計算や検索で問題が起こる場合がある

セルの配置だけで判断しない

標準の表示形式では、数値はセルの右側、文字列は左側に表示されるため、配置からデータ型を推測できる場合があります。

ただし、セルの配置は手動で変更できるため、左寄せや右寄せだけでデータ型を判断することはできません。

表示形式を変えてもデータ型は変わらない

文字列として保存された数字の表示形式を「数値」や「標準」へ変更しても、データ型が自動的に数値へ変わらない場合があります。

見た目だけで判断せず、TYPE関数の結果を確認してください。

セルの表示形式を変更する方法は、「Excelのセルの書式設定とは?フォント・配置・罫線など6つのタブを解説」で確認できます。

複数のデータを確認するときは数式をコピーする

縦に並んだ複数のデータを確認する場合は、最初のセルへTYPE関数を入力し、オートフィルで数式をコピーします。

結果に「1」と「2」が混在していれば、同じ列に数値と文字列が混在しています。

  1. 確認するデータの隣へTYPE関数を入力する
  2. 数式を入力したセルを選択する
  3. セル右下のフィルハンドルを下方向へドラッグする
  4. TYPE関数の結果に「1」と「2」が混在していないか確認する

同じ数式を複数のセルへコピーする方法は、「Excelのオートフィルの使い方」で解説しています。

勇者たんたん
勇者たんたん

見た目が同じ数字でも、TYPE関数の結果が「1」なら数値、「2」なら文字列なんですね!

TYPE関数で文字列と判定された数字を計算に使用する場合は、数値へ変換する必要があります。

次は、文字列として保存された数字をVALUE関数で数値へ変換する方法を確認しましょう。

文字列として保存された数字を数値へ変換する

TYPE関数で「2」が表示された数字を計算に使用する場合は、文字列から数値へ変換します。

数値を表す文字列は、VALUE関数を使って数値へ変換できます。

VALUE関数

=VALUE(文字列)

引数
文字列:数値へ変換したい文字列またはセル

機能
数値を表す文字列を数値へ変換する関数

主な結果
文字列の「100」 → 数値の100

VALUE関数で数値へ変換する

セルA2に文字列として保存された「100」が入力されている場合は、別のセルへ次の数式を入力します。

=VALUE(A2)

VALUE関数は、セルA2の文字列を数値へ変換します。

変換後の値は、足し算や掛け算などの計算に使用できます。

変換後のデータ型をTYPE関数で確認する

VALUE関数で変換した結果が数値になっているか、TYPE関数で確認できます。

VALUE関数で変換したものを確認
VALUE関数で文字列の「100」を数値へ変換すると、TYPE関数の結果は「1」になります。

VALUE関数を入力したセルがB2の場合は、別のセルへ次の数式を入力します。

=TYPE(B2)

結果:1

TYPE関数の結果に「1」が表示されれば、VALUE関数によって数値へ変換されています。

すべての文字列を数値へ変換できるわけではない

VALUE関数で数値へ変換できるのは、数字や日付、時刻など、Excelが数値として認識できる文字列です。

商品名や氏名など、数値を表していない文字列を指定すると「#VALUE!」が表示されます。

勇者たんたん
勇者たんたん

TYPE関数で文字列と分かった数字は、VALUE関数を使えば数値へ変換できるんですね!

文字列として保存された数字は、VALUE関数で数値へ変換できます。

次は、数値を文字列として扱う方法を確認しましょう。

数値を文字列へ変換する

商品コードや社員番号など、数字を計算に使わず、文字列として扱いたい場合があります。

数値を指定した表示形式の文字列へ変換する場合は、TEXT関数を使用します。

TEXT関数

=TEXT(値,表示形式)

引数
値:文字列へ変換したい数値またはセル
表示形式:変換後の表示方法を指定する書式コード

機能
数値へ指定した表示形式を適用し、文字列へ変換する関数

主な結果
123 → 00123

TEXT関数で数値を文字列へ変換する

セルA2に数値の「123」が入力されている場合は、別のセルへ次の数式を入力します。

=TEXT(A2,"00000")

「00000」は、数値を5桁で表示するための表示形式です。

セルA2の「123」は、先頭に0が付いた文字列の「00123」へ変換されます。

変換後のデータ型をTYPE関数で確認する

TEXT関数で変換した結果が文字列になっているか、TYPE関数で確認できます。

TEXT関数で数値を文字列へ変換しTYPE関数で確認
TEXT関数で数値の「123」を文字列の「00123」へ変換すると、TYPE関数の結果は「2」になります。

TEXT関数を入力したセルがB2の場合は、別のセルへ次の数式を入力します。

=TYPE(B2)

結果:2

TYPE関数の結果に「2」が表示されれば、TEXT関数によって文字列へ変換されています。

TEXT関数で作成した文字列は、元の数値と同じように計算へ使用できるとは限りません。

TEXT関数の詳しい使い方

TEXT関数では、先頭の0だけでなく、日付・時刻・金額・パーセントなどの表示形式も指定できます。

表示形式の指定方法や実務での使用例は、「ExcelのTEXT関数とは?数値・日付を文字列へ変換する方法を解説」で詳しく解説しています。

アポストロフィを付けて文字列として入力する

これから入力する数字を文字列として保存したい場合は、数字の先頭に半角のアポストロフィを付ける方法もあります。

'00123

セルにはアポストロフィを除いた「00123」が表示され、文字列として保存されます。

TYPE関数で確認すると、文字列を表す「2」が表示されます。

アポストロフィは入力時の簡単な方法

アポストロフィは、商品コードなどを1件ずつ文字列として入力するときに利用できます。

すでに入力されている大量の数値をまとめて変換する方法には向いていません。

文字列へ変換する方法の使い分け

TEXT関数
数値へ表示形式を適用し、文字列へ変換する
元の数値を残したまま、別のセルに変換結果を表示できる

アポストロフィ
これから入力する数字を文字列として保存する
商品コードなどを少数入力するときに使いやすい

勇者たんたん
勇者たんたん

数値へ表示形式を付けて文字列にするならTEXT関数、入力時に文字列として保存するならアポストロフィを使えるんですね!

数値は、TEXT関数で指定した表示形式の文字列へ変換できます。これから入力する数字であれば、先頭にアポストロフィを付ける方法もあります。

最後に、TYPE関数でデータ型を確認する流れをまとめましょう。

まとめ|TYPE関数でデータ型を確認しよう

Excelでは、見た目が同じ数字でも、数値と文字列では異なるデータとして扱われます。

数式で計算できない場合や、検索関数で同じ値を検索できない場合は、TYPE関数でデータ型を確認しましょう。

データ型を確認・変換する流れ

1.TYPE関数でデータ型を確認する
数値 → 1
文字列 → 2

2.文字列の数字を数値へ変換する
VALUE関数を使用する

3.数値を文字列へ変換する
表示形式を指定する場合はTEXT関数を使用する
これから入力する数字であれば、先頭にアポストロフィを付ける方法もある

4.変換後のデータ型を確認する
TYPE関数で数値なら「1」、文字列なら「2」が表示されることを確認する

TYPE関数はデータ型を確認する関数であり、数値と文字列を変換する関数ではありません。

TYPE関数で確認した結果に応じて、文字列の数字を数値へ変換する場合はVALUE関数、数値を指定した表示形式の文字列へ変換する場合はTEXT関数を使用します。

データ型を変換したら、数式のエラーが消えただけでなく、目的どおりに計算や検索ができることも確認してください。

見た目だけで判断せず、TYPE関数の結果と、実際の計算結果や検索結果の両方を確認することが大切です。

データ型の違いによって「#VALUE!」などが表示される場合は、「Excelのエラー表示一覧」で原因と直し方を確認してください。

VLOOKUP関数で同じ値があるのに検索できない場合は、「VLOOKUPで同じ値なのに検索できない原因」で確認項目を詳しく解説しています。

勇者たんたん
勇者たんたん

まずTYPE関数でデータ型を確認して、必要な場合だけ数値や文字列へ変換すればよいんですね!

関数を正しく使うには、セルに入力された値だけでなく、数値や文字列などのデータ型を意識することも大切です。

関数を基本から順番に学びたい場合は、Level3攻略フローから進めてください。

コメント

タイトルとURLをコピーしました