【Excel】ISNUMBER・ISTEXT関数でセルのデータ型を判定する方法

【Excel】ISNUMBER・ISTEXT関数でセルのデータ型を判定する方法
🛡️ 超解決

Excelでデータを扱う際、数値なのか文字列なのか、セルのデータ型を正確に把握したい場面があります。

例えば、数値として計算に含めたいデータが、意図せず文字列として入力されていると、計算結果がおかしくなってしまいます。

このようなデータ型の違いを自動で判定し、エラーを防ぐために役立つのがISNUMBER関数とISTEXT関数です。

この記事では、これらの関数を使ってセルのデータ型を判定する方法を詳しく解説します。

【要点】ISNUMBER・ISTEXT関数でデータ型を判定する

  • ISNUMBER関数: 指定したセルが数値の場合にTRUEを返します。
  • ISTEXT関数: 指定したセルが文字列の場合にTRUEを返します。
  • IF関数との組み合わせ: ISNUMBER関数やISTEXT関数とIF関数を組み合わせることで、データ型に応じた処理を実行できます。

ADVERTISEMENT

ISNUMBER・ISTEXT関数の基本と仕組み

ISNUMBER関数とISTEXT関数は、Excelの論理関数に分類されます。

これらの関数は、指定したセルや値が特定のデータ型であるかどうかを判定し、その結果を論理値(TRUEまたはFALSE)で返します。

ISNUMBER関数は、セルが数値(整数、小数、日付、時刻など)であればTRUEを返します。それ以外の場合はFALSEを返します。

一方、ISTEXT関数は、セルが文字列であればTRUEを返します。数値や日付、エラー値など、文字列以外の場合はFALSEを返します。

これらの関数は、データ入力時のチェックや、データの前処理、条件付き書式の設定など、様々な場面で活用できます。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

ISNUMBER関数で数値かどうかを判定する手順

  1. 判定したいセルを選択する
    データ型を判定したいセルを選択します。ここでは例としてセルA1を選択します。
  2. 数式バーにISNUMBER関数を入力する
    選択したセルに、以下の数式を入力します。
    =ISNUMBER(A1)
  3. Enterキーを押して結果を確認する
    数式を入力後、Enterキーを押すと、セルA1の内容が数値であればTRUE、そうでなければFALSEが表示されます。

ISTEXT関数で文字列かどうかを判定する手順

  1. 判定したいセルを選択する
    データ型を判定したいセルを選択します。ここでは例としてセルA1を選択します。
  2. 数式バーにISTEXT関数を入力する
    選択したセルに、以下の数式を入力します。
    =ISTEXT(A1)
  3. Enterキーを押して結果を確認する
    数式を入力後、Enterキーを押すと、セルA1の内容が文字列であればTRUE、そうでなければFALSEが表示されます。

ADVERTISEMENT

IF関数と組み合わせて条件分岐を行う

ISNUMBER関数やISTEXT関数は、単独で使うよりもIF関数と組み合わせることで、より実用的な処理が可能になります。

例えば、数値であれば「数値です」と表示し、文字列であれば「文字列です」と表示するような場合に使えます。

ISNUMBER関数とIF関数を組み合わせる例

  1. 判定したいセルを選択する
    ここでは例としてセルA1を選択します。
  2. 数式バーにIF関数とISNUMBER関数を組み合わせた数式を入力する
    セルB1に以下の数式を入力します。
    =IF(ISNUMBER(A1), "数値です", "数値ではありません")
    この数式は、A1セルが数値であれば「数値です」と表示し、そうでなければ「数値ではありません」と表示します。
  3. Enterキーを押して結果を確認する
    数式を入力後、Enterキーを押すと、指定した条件に応じた結果が表示されます。

ISTEXT関数とIF関数を組み合わせる例

  1. 判定したいセルを選択する
    ここでは例としてセルA1を選択します。
  2. 数式バーにIF関数とISTEXT関数を組み合わせた数式を入力する
    セルB1に以下の数式を入力します。
    =IF(ISTEXT(A1), "文字列です", "文字列ではありません")
    この数式は、A1セルが文字列であれば「文字列です」と表示し、そうでなければ「文字列ではありません」と表示します。
  3. Enterキーを押して結果を確認する
    数式を入力後、Enterキーを押すと、指定した条件に応じた結果が表示されます。

ISNUMBER・ISTEXT関数がTRUEを返すケースとFALSEを返すケース

これらの関数がどのような場合にTRUEまたはFALSEを返すかを理解することは、正確なデータ分析のために重要です。

ISNUMBER関数がTRUEになるケース

ISNUMBER関数は、セルに以下のいずれかのデータが含まれている場合にTRUEを返します。

  • 通常の数値(例: 123, 45.67)
  • 日付(例: 2023/10/27)
  • 時刻(例: 10:30:00)
  • 日付と時刻の組み合わせ(例: 2023/10/27 10:30:00)
  • 数値として認識される文字列(例: “123” ← これは実際には文字列ですが、数式内で自動で数値に変換される場合があります。しかし、ISTEXT関数はTRUEを返します。ISNUMBER関数はFALSEを返します。)
  • エラー値(例: #N/A, #DIV/0! ← これらは厳密には数値ではありませんが、ISNUMBER関数はFALSEを返します。)

ISNUMBER関数がFALSEになるケース

以下の場合はFALSEを返します。

  • 文字列(例: “abc”, “Excel”)
  • 空白セル
  • 論理値(TRUE, FALSE)
  • エラー値(#N/A, #DIV/0! など)

ISTEXT関数がTRUEになるケース

ISTEXT関数は、セルに以下のいずれかのデータが含まれている場合にTRUEを返します。

  • 通常の文字列(例: “abc”, “Excel”)
  • 数字を含む文字列(例: “123”, “2023年”)
  • 日付や時刻を文字列として入力した場合(例: “2023/10/27”, “10:30” ← ユーザーが直接文字列として入力した場合)

ISTEXT関数がFALSEになるケース

以下の場合はFALSEを返します。

  • 数値(例: 123, 45.67)
  • 日付、時刻
  • 論理値(TRUE, FALSE)
  • 空白セル
  • エラー値(#N/A, #DIV/0! など)

データ型判定でよくある誤解と注意点

ISNUMBER関数とISTEXT関数を使う上で、いくつか注意しておきたい点があります。

「数字」と「数値」の違い

Excelでは、「数字」と「数値」は区別されます。

例えば、セルに「123」と入力した場合、Excelがそれを数値として認識すればISNUMBER関数はTRUEを返します。

しかし、セルの書式設定が「文字列」になっていたり、数字の前後にシングルクォーテーション(‘)が付いていたりすると(例: ‘123)、Excelはそれを文字列として扱います。

この場合、見た目は数字でも、ISTEXT関数はTRUEを返し、ISNUMBER関数はFALSEを返します。

空白セルの扱い

空白セルは、ISNUMBER関数、ISTEXT関数のどちらもFALSEを返します。

そのため、空白セルを区別したい場合は、ISBLANK関数などと組み合わせて判定する必要があります。

日付・時刻の判定

Excelでは、日付や時刻も内部的には数値として扱われています。

そのため、セルに日付や時刻が正しく入力されていれば、ISNUMBER関数はTRUEを返します。

もし、日付や時刻を文字列として入力している(例: “2023年10月27日”)場合は、ISTEXT関数がTRUEを返します。

日付や時刻を数値として扱いたいのか、文字列として扱いたいのかによって、判定結果が変わる点に注意が必要です。

エラー値の扱い

エラー値(#N/A, #DIV/0! など)は、ISNUMBER関数、ISTEXT関数のどちらもFALSEを返します。

エラー値を判定したい場合は、ISERROR関数やISNA関数など、専用のエラー判定関数を使用する必要があります。

ISNUMBER・ISTEXT関数と他のデータ型判定関数の比較

Excelには、他にもセルのデータ型を判定する関数がいくつかあります。ISNUMBER関数とISTEXT関数との違いを理解しておくと、より目的に合った関数を選択できます。

関数名 判定対象 TRUEを返す場合 FALSEを返す場合 備考
ISNUMBER 数値 数値、日付、時刻 文字列、空白、論理値、エラー値 日付・時刻も数値として判定
ISTEXT 文字列 文字列(数字、日付、時刻の文字列も含む) 数値、日付、時刻、空白、論理値、エラー値 文字列として入力されたものが対象
ISLOGICAL 論理値 TRUE, FALSE 数値、文字列、日付、時刻、空白、エラー値
ISBLANK 空白 空白セル 数値、文字列、日付、時刻、論理値、エラー値
ISERROR エラー値 #N/A, #DIV/0!, #REF!, #VALUE!, #NUM!, #NAME?, #NULL! 数値、文字列、日付、時刻、空白、論理値 全てのエラー値を判定
ISNA #N/Aエラー #N/A 上記以外の全て #N/Aエラーのみ判定

ISNUMBER・ISTEXT関数を活用した実例

ここでは、ISNUMBER関数とISTEXT関数を実務でどのように活用できるか、具体的な例をいくつか紹介します。

例1: 数値データと文字列データの分離

顧客リストなどで、電話番号が「090-1234-5678」のようにハイフン付きで入力されている場合、Excelはこれを文字列として認識します。

一方、郵便番号「100-0001」なども同様です。

これらのデータを数値として扱いたい場合(例: ハイフンを削除して整形したい)、まずデータ型を判定する必要があります。

例えば、A列にデータがあるとして、B列に以下の数式を入力します。

=IF(ISNUMBER(A1), A1, SUBSTITUTE(A1,"-",""))

この数式は、A1が数値であればそのままA1の値を表示し、文字列であればハイフンを削除した値を表示します。

これにより、数値データと、数値として扱いたい文字列データを統一して処理できるようになります。

例2: データ入力規則の強化

特定のセルには数値のみを入力させたい場合、データ入力規則とISNUMBER関数を組み合わせることができます。

1. 数値入力を許可したいセルを選択します。

2. 「データ」タブの「データの入力規則」をクリックします。

3. 「設定」タブで「入力値の種類」を「ユーザー設定」にします。

4. 「数式」欄に以下の数式を入力します。

=ISNUMBER(A1) (A1は選択したセル範囲の先頭セル)

5. 「エラーメッセージ」タブで、数値以外が入力された場合のメッセージを設定します。

これにより、数値以外が入力された場合に警告が表示され、意図しないデータ入力を防ぐことができます。

例3: レポート作成時のデータチェック

月次レポートなどで、数値項目に誤って文字列が混入していないかを確認したい場合に役立ちます。

売上金額などの列(例: C列)に対し、隣の列(例: D列)に以下の数式を入力します。

=IF(ISTEXT(C1), "文字列データあり", "")

この数式をコピーすると、C列に文字列データがあれば「文字列データあり」と表示され、すぐに発見できます。

その後、該当するセルを修正したり、データ型を変換したりする作業が効率的に行えます。

まとめ

ISNUMBER関数とISTEXT関数を使いこなすことで、Excelにおけるセルのデータ型を正確に判定できるようになりました。

これにより、数値計算の誤りを防いだり、データの整形やチェックを効率化したりすることが可能になります。

今後は、これらの関数とIF関数、そして他のデータ型判定関数を組み合わせて、より高度なデータ管理や分析に挑戦してみてください。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】