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とダブルマイナスで変換する必要があります。
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
超解決 第一編集部
疑問解決ポータル「超解決」の編集チーム。正確な検証と、現場視点での伝わりやすい解説を心がけています。
Googleスプレッドシートの人気記事ランキング
- 【Googleスプレッドシート】GOOGLEFINANCE関数で株価・為替を取得!リアルタイムデータの呼び出し
- 【Googleスプレッドシート】印刷範囲を指定して印刷!特定範囲だけPDFや紙に出す手順
- 【Googleスプレッドシート】新しいスプレッドシートを作成する3つの方法!ドライブ・URL・テンプレート
- 【Googleスプレッドシート】数値の連続データを自動入力!オートフィルの活用
- 【Googleスプレッドシート】ダークモードを有効にする!目に優しい配色への切替
- 【Googleスプレッドシート】株価APIで株式データを自動取得!GOOGLEFINANCE超え活用
- 【Googleスプレッドシート】共有相手が編集できない時のチェック!権限と許可状態の確認
- 【Googleスプレッドシート】ページ設定で用紙サイズと向きを調整!印刷レイアウトの基本
- 【Googleスプレッドシート】Excelファイルxlsxをインポートする手順!ドラッグ&ドロップで取り込み
- 【Googleスプレッドシート】条件付き書式をコピーする!書式のみペーストの活用
