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関数の使い方
- セルを選択する
結果を表示したいセルをクリックします。 - 数式を入力する
=ISERROR(判定したいセル)と入力します。例えば、=ISERROR(A1)とします。 - Enterキーを押す
A1がエラー値ならTRUE、それ以外ならFALSEが返ります。
ISNUMBER関数の使い方
- セルを選択する
結果を表示したいセルをクリックします。 - 数式を入力する
=ISNUMBER(判定したいセル)と入力します。 - Enterキーを押す
セルが数値ならTRUE、文字列ならFALSEが返ります。
ISBLANK関数の使い方
- セルを選択する
結果を表示したいセルをクリックします。 - 数式を入力する
=ISBLANK(判定したいセル)と入力します。 - 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とダブルマイナスで変換する必要があります。
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
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】フィルタ表示で他の人の表示を変えずに絞り込み!共有時の使い分け
- 【Googleスプレッドシート】行を一括追加!複数行をまとめて挿入
- 【Googleスプレッドシート】行・列の入れ替え!ドラッグ&ドロップでの並べ替え
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】Apps Script V8ランタイムへの移行手順!古いコードの書き換え
- 【Googleスプレッドシート】セル内の画像サイズと位置を調整!アンカーと配置の指定
- 【Googleスプレッドシート】2段階プルダウンを実装!連動式リストの作り方
- 【Googleスプレッドシート】テキストを折り返し・はみ出し・切り捨てに切替!セル内の表示設定
- 【Googleスプレッドシート】テンプレートギャラリーを使い倒すコツ!業務別の活用例
