ADVERTISEMENT

【Googleスプレッドシート】ISERROR・ISNUMBER・ISBLANK関数の使い分け!型判定の基本

【Googleスプレッドシート】ISERROR・ISNUMBER・ISBLANK関数の使い分け!型判定の基本
🛡️ 超解決

Excelやスプレッドシートでデータを扱うとき、セルの値がエラーかどうか、数字かどうか、空欄かどうかを判定したい場面がよくあります。ISERROR、ISNUMBER、ISBLANKの3つの関数はそれぞれ異なる判定を行います。どれを使えばよいか迷ったことはありませんか。この記事では、各関数の動作と使い分け方を具体例とともに解説します。これを読めば、状況に応じて適切な関数を選べるようになります。

【要点】ISERROR・ISNUMBER・ISBLANK関数の使い分け

  • ISERROR関数: セルがエラー値(#N/A、#VALUE!など)の場合にTRUEを返し、エラー判定に使用します。
  • ISNUMBER関数: セルが数値の場合にTRUEを返し、数値かどうかの型判定に使用します。
  • ISBLANK関数: セルが完全に空欄(何も入力されていない)の場合にTRUEを返し、空白チェックに使用します。

ADVERTISEMENT

各関数の仕組みと使い分けが必要な理由

ISERROR、ISNUMBER、ISBLANKは、いずれもセルの状態を真偽値(TRUE/FALSE)で返す判定関数です。

ISERRORは、引数に指定したセルがエラー値の場合にTRUEを返します。エラー値には#N/A、#VALUE!、#REF!、#DIV/0!、#NUM!、#NAME?、#NULL!があります。VLOOKUPやQUERYでデータが見つからなかったときのエラー対策によく使います。

ISNUMBERは、セルが数値の場合にTRUEを返します。日付や時刻も内部的には数値として扱われるため、ISNUMBERでTRUEになります。文字列やエラー値、空白はFALSEです。

ISBLANKは、セルが完全に空欄の場合にTRUEを返します。ただし、セルに空文字(“”)が入っていると、空白に見えてもISBLANKはFALSEとなります。これは初心者がよく間違えるポイントです。

これらの関数を正しく使い分けるには、判定したい状況を明確にする必要があります。例えば、VLOOKUPでエラーが出たときはISERRORで対処し、数値のみ許可したいセルにはISNUMBERでバリデーションを行い、必須入力欄にはISBLANKで空欄チェックをします。それぞれの得意分野を理解しましょう。

各関数の基本的な使い方の手順

ISERROR関数の使い方

  1. セルを選択する
    結果を表示したいセルをクリックします。
  2. 数式を入力する
    =ISERROR(判定したいセル)と入力します。例えば、=ISERROR(A1)とします。
  3. Enterキーを押す
    A1がエラー値ならTRUE、それ以外ならFALSEが返ります。

ISNUMBER関数の使い方

  1. セルを選択する
    結果を表示したいセルをクリックします。
  2. 数式を入力する
    =ISNUMBER(判定したいセル)と入力します。
  3. Enterキーを押す
    セルが数値ならTRUE、文字列ならFALSEが返ります。

ISBLANK関数の使い方

  1. セルを選択する
    結果を表示したいセルをクリックします。
  2. 数式を入力する
    =ISBLANK(判定したいセル)と入力します。
  3. Enterキーを押す
    セルが完全に空欄ならTRUE、何か入力されていればFALSEが返ります。

IF関数と組み合わせた実用的な例

これらの関数は単体で使うよりも、IF関数と組み合わせることで効果を発揮します。

  • エラーを空欄にする: =IF(ISERROR(VLOOKUP(A1,B:C,2,FALSE)),"",VLOOKUP(A1,B:C,2,FALSE)) とすると、エラー時は空欄、正常時は検索結果を表示します。
  • 数値のみ許可: =IF(ISNUMBER(A1),"数値です","数値ではありません") と入力すると、A1が数値かどうかをメッセージで表示します。
  • 必須入力チェック: =IF(ISBLANK(A1),"入力してください","OK") とすると、空欄のとき警告を表示します。

これらの応用で、データ入力の自動チェックやエラーハンドリングが簡単に実現できます。

よくある間違いと注意点

ISBLANKで空文字(“”)を空白と誤判定する

セルに数式で空文字を返すような設定(例:=IF(A1="","",A1))があると、セルは見た目が空白でも実際には空文字が入力されています。ISBLANKはこうしたセルを空白と判定せず、FALSEを返します。空文字も空白として扱いたい場合は、=A1=""という判定式を使いましょう。

ISNUMBERで日付や時刻を数値と判定する

日付や時刻はシリアル値として保存されているため、ISNUMBERはTRUEを返します。日付かどうかを判定したい場合は、別途TEXT関数やカスタム関数を使用する必要があります。日付セルを数値入力と区別したい場合には注意が必要です。

ISERRORがTRUEになるのはエラー値のみ

セルにエラー値が入っている場合のみTRUEになります。例えば、数式が正しいが参照先が空白でもエラーにならない場合はFALSEのままです。IFERROR関数と混同しないようにしましょう。

ISNUMBERで文字列の数字はFALSEになる

セルに「’123」のように文字列として数字が入力されている場合、ISNUMBERはFALSEになります。数字として扱うためには、VALUE関数で数値に変換するか、数式に--A1とダブルマイナスで変換する必要があります。

ADVERTISEMENT

ISERROR・ISNUMBER・ISBLANKの比較

関数 役割 TRUEになる例 FALSEになる例
ISERROR エラー値かどうかを判定 #N/A、#VALUE!などのエラー 数値、文字列、空白、論理値
ISNUMBER 数値かどうかを判定 数値、日付、時刻、TRUE/FALSE 文字列、エラー、空白
ISBLANK 完全な空白かどうかを判定 何も入力されていないセル 数値、文字列、エラー、空文字、論理値

表中の「TRUE/FALSE」はブール値で、これらもISNUMBERではTRUEになります。ただし、ISLOGICAL関数を使えばブール値かどうかを判定できます。

ISERROR、ISNUMBER、ISBLANKは、それぞれエラー判定、数値判定、空白判定に特化した便利な関数です。適切に使い分けることで、データのバリデーションやエラーハンドリングを効率的に行えます。まずはシンプルなIFとの組み合わせから試してみましょう。さらにISTEXTやISLOGICALなど姉妹関数も覚えると、より柔軟な型判定ができるようになります。ぜひ実際のシートで活用してみてください。


ADVERTISEMENT

この記事の監修者
✍️

超解決 第一編集部

疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。