スプレッドシートで「このセル、空白かどうかチェックしたい」と思ったことはありませんか?
入力漏れの確認や、空白のときだけ処理を変えたいケースは実務でよくありますよね。
そんなときに使えるのがISBLANK関数です。セルが空白かどうかをTRUE/FALSEで判定してくれます。
この記事では基本の書き方からIF関数・COUNTBLANK関数との組み合わせまで紹介します。
ISBLANK関数とは?
ISBLANK関数(読み方: イズブランク関数)は、指定したセルが空白かどうかを判定する関数です。
名前はIS(〜かどうか)+ BLANK(空白)が由来です。A1が空白なら =ISBLANK(A1) はTRUEを返します。
引数はチェックしたいセルの1つだけです。結果はTRUEかFALSEの2択なので、とてもシンプルですね。
ISBLANK関数にできることをまとめると、次のとおりです。
- セルが空白かどうかをTRUE/FALSEで判定する
- IF関数と組み合わせて空白時の処理を分岐する
- 入力漏れのチェックに使う
- 条件付き書式で空白セルを色付けする
NOTE
ISBLANK関数はGoogleスプレッドシートの全バージョンで使えます。Excelとの互換性も完全なので、ファイルのやり取りでも安心です。
ISBLANK関数の書き方(構文と引数)
基本構文
=ISBLANK(値)
カッコの中に空白かどうかを判定したいセルを指定するだけです。
引数の説明
| 引数 | 必須/任意 | 説明 |
|---|---|---|
| 値 | 必須 | 空白かどうかを確認したいセル参照(例: A1) |
引数は1つだけです。セルが空白ならTRUE、何か入力されていればFALSEを返します。
ISBLANK関数がTRUE/FALSEを返すパターン
どんなセルがTRUE(空白)と判定されるかを一覧にしました。
| データの種類 | 判定結果 |
|---|---|
| 何も入力されていないセル | TRUE(空白) |
| 数値(0を含む) | FALSE |
| 文字列(”abc”など) | FALSE |
| 日付・時刻 | FALSE |
| 論理値(TRUE/FALSE) | FALSE |
| エラー値(#N/Aなど) | FALSE |
| スペースのみ入力(半角・全角) | FALSE |
数式の結果が空文字列(="") | FALSE |
特に注意したいのは最後の2つです。スペースだけのセルは見た目が空白でもFALSEになります。
数式で "" を返しているセルも同様にFALSEです。
TIP
ISBLANK関数は「数式の結果が空文字列」のセルをFALSE(空白ではない)と判定します。一方、COUNTBLANK関数は同じセルを空白としてカウントします。この違いは覚えておくと便利です。
ISBLANK関数の基本的な使い方
セルが空白かどうかを判定する
もっともシンプルな使い方です。A1が空白かどうかを確認します。
=ISBLANK(A1)
A1に何も入力されていなければTRUE、何か入っていればFALSEが返ります。
IF関数と組み合わせて表示を切り替える
ISBLANK関数はIF関数と組み合わせることが多いです。空白のときと入力済みのときで表示を変えます。
=IF(ISBLANK(B2), "未入力", "入力済み")
B2が空白なら「未入力」、何か入力されていれば「入力済み」と表示します。
空白のときだけ計算をスキップする
空白セルを含む計算でエラーを防ぎたいときに使えます。
=IF(ISBLANK(B2), "", B2*C2)
B2が空白なら空欄のまま、入力済みならB2とC2の掛け算を実行します。
複数セルをまとめてチェックする
複数のセルがすべて入力済みかどうかを確認するパターンです。
=AND(NOT(ISBLANK(A2)), NOT(ISBLANK(B2)), NOT(ISBLANK(C2)))
A2・B2・C2がすべて入力済みならTRUEです。1つでも空白があればFALSEになります。
実務でのISBLANK関数活用例
IF + ISBLANKで入力漏れチェック
もっとも使用頻度が高いパターンです。各行のステータス列が未入力かどうかをチェックします。
=IF(ISBLANK(D2), "要入力", "OK")
D2が空白なら「要入力」と表示されます。この数式を下方向にコピーすれば、全行分のチェックが一括でできます。
TIP
=IF(D2="", "要入力", "OK")でも似た結果になりますが、ISBLANKのほうが「本当に空白かどうか」を厳密に判定できます。違いは後ほど「似た関数との違い」セクションで解説します。
COUNTBLANK関数と組み合わせて進捗ダッシュボード
ISBLANK関数は「1セルの空白判定」を行います。COUNTBLANK関数は「範囲内の空白セル数」を返します。この2つを組み合わせて入力状況を管理しましょう。
入力済み: =COUNTA(B2:B20)
未入力: =COUNTBLANK(B2:B20)
入力率: =1 - COUNTBLANK(B2:B20) / ROWS(B2:B20)
全件入力済: =IF(COUNTBLANK(B2:B20)=0, "完了", "未完了")
ISBLANK関数は行ごとのステータス表示に使います。COUNTBLANK関数は全体の集計に使いましょう。
IFERROR + ISBLANKで安全な数式を作る
VLOOKUP関数やINDEX/MATCH関数の結果が空白かどうかでさらに処理を分けるパターンです。
=IFERROR(IF(ISBLANK(VLOOKUP(A2, Sheet2!A:C, 3, FALSE)), "データなし", VLOOKUP(A2, Sheet2!A:C, 3, FALSE)), "該当なし")
VLOOKUPの結果が空白なら「データなし」と表示します。値があればそのまま表示します。検索キーが見つからなければ「該当なし」です。
もう少しシンプルに書くなら、LET関数を使う方法もあります。
=LET(result, VLOOKUP(A2, Sheet2!A:C, 3, FALSE), IF(ISBLANK(result), "データなし", result))
LET関数でVLOOKUPの結果を変数に入れると、同じ数式を2回書かなくて済みます。
条件付き書式で空白セルをハイライト
ISBLANK関数を条件付き書式のカスタム数式に使うと、空白セルを色付けできます。
手順:
- 色付けしたい範囲(例: B2:B20)を選択する
- 「表示形式」→「条件付き書式」を開く
- 「カスタム数式」を選び、次の数式を入力する
=ISBLANK(B2)
- 書式スタイルで背景色を赤やオレンジに設定する
これで未入力のセルがひと目でわかります。入力が完了するとハイライトが自動で消えるので便利です。
ArrayFormulaで全行一括判定
ISBLANK関数をARRAYFORMULA関数と組み合わせると、1つの数式で全行分を処理できます。
=ARRAYFORMULA(IF(ISBLANK(B2:B), "", IF(ISBLANK(D2:D), "未入力", "OK")))
B列にデータがある行だけを対象に、D列の空白チェックを実行します。B列が空白の行は処理をスキップします。
ARRAYFORMULA関数を使えば数式を下方向にコピーする必要がなくなるので、行が追加されても自動対応です。
よくあるエラーと対処法
ISBLANK関数自体がエラーを返すことはほとんどありません。ただし「思った結果にならない」ケースがあります。
| 症状 | 原因 | 対処法 |
|---|---|---|
| 空白に見えるのにFALSEになる | セルにスペース(半角・全角)が入っている | TRIM関数でスペースを除去する |
| 空白に見えるのにFALSEになる | 改行コードや制御文字が残っている | CLEAN関数で削除する |
| 数式セルなのにTRUEにしたい | 数式の結果が "" のセルはFALSEになる | =A1="" で判定するか、COUNTBLANK関数を使う |
| 0もTRUEにしたい | ISBLANK関数は0を空白と見なさない | =OR(ISBLANK(A1), A1=0) で判定する |
| セル範囲を渡したい | ISBLANK関数は1セルずつ判定する | COUNTBLANK関数を使うか、ARRAYFORMULAで包む |
スペース混入の見分け方
セルが空白に見えるのにFALSEになる場合、スペースの混入を疑いましょう。LEN関数で確認できます。
=LEN(A2)
結果が0なら本当に空白です。1以上ならスペースや不可視文字が入っています。
スペースを除去してから判定するには、TRIM関数と組み合わせます。
=ISBLANK(TRIM(A2))
ただしこの数式はFALSEを返します。TRIM関数の結果は「数式の戻り値」であり、空白セルへの参照ではないためです。
スペースを除去した上で空白判定したい場合は、次のように書きます。
=TRIM(A2)=""
TIP
「データ」メニュー → 「データクリーンアップ」→「空白文字を削除」で一括除去もできます。根本的にデータをきれいにしたいときに使ってみてください。
似た関数との違い・使い分け
ISBLANK関数と関連する関数をまとめました。
| 関数 | 判定対象 | 戻り値 | 用途 |
|---|---|---|---|
| ISBLANK | 1セルの空白判定 | TRUE/FALSE | セルごとの空白チェック |
| COUNTBLANK | 範囲内の空白セル数 | 数値 | 空白の件数カウント |
| COUNTA | 範囲内の非空白セル数 | 数値 | 入力済み件数の集計 |
| IF(A1=””) | 空文字列かどうか | 任意の値 | 空文字列を含む空白判定 |
ISBLANKと ="" の違い
空白判定で迷いやすいのが =ISBLANK(A1) と =A1="" の違いです。
| 判定方法 | 空白セル | 数式で=""を返すセル | スペースのみ |
|---|---|---|---|
=ISBLANK(A1) | TRUE | FALSE | FALSE |
=A1="" | TRUE | TRUE | FALSE |
違いは「数式が空文字列を返しているセル」の扱いです。
ISBLANK関数は「セルに何も入力されていない」場合だけTRUEです。数式で "" を返すセルはFALSEです。
一方 =A1="" は、数式の結果が "" のセルもTRUEを返します。
実務での使い分けは次のとおりです。
- 「本当に何も入っていないセル」だけを見つけたい → ISBLANK関数
- 「見た目が空白のセル」を広く拾いたい →
=""で判定
迷ったら ="" のほうが対応範囲が広く汎用的です。未入力セルだけ厳密に検出したいならISBLANK関数を使いましょう。
ISBLANKとCOUNTBLANKの使い分け
ISBLANK関数は1セルの判定、COUNTBLANK関数は範囲の集計です。
個別チェック: =IF(ISBLANK(B2), "未入力", "OK")
件数カウント: =COUNTBLANK(B2:B20)
「各行に入力ステータスを表示する」→ ISBLANK + IF関数
「全体で未入力が何件あるか」→ COUNTBLANK関数
両方を組み合わせると、行ごとのステータス表示と全体集計を同時に実現できます。
ISBLANKと他のIS系関数
ISBLANK関数はIS系情報関数のひとつです。
| 関数 | 判定内容 |
|---|---|
| ISBLANK | 空白かどうか |
| ISNUMBER | 数値かどうか |
| ISTEXT | 文字列かどうか |
| ISLOGICAL | 論理値かどうか |
| ISERROR | エラーかどうか |
| ISFORMULA | 数式が入っているかどうか |
データの種類に応じたチェックをしたいときは、IS系関数を使い分けてみてください。
まとめ
ISBLANK関数は、セルが空白かどうかをTRUE/FALSEで判定するシンプルな関数です。
ポイントをおさらいしましょう。
- 引数は1つ。空白セルならTRUE、それ以外はFALSE
- IF関数と組み合わせて「空白なら〜、入力済みなら〜」の分岐ができる
- 数式で
=""を返すセルはFALSE(ISBLANKと=""の違いに注意) - 範囲の空白セル数を数えたいならCOUNTBLANK関数を使う
- スペースだけのセルはFALSEになる。LEN関数やTRIM関数で確認する
入力漏れのチェックや条件分岐の前処理に、ぜひ活用してみてください。
関連記事
空白セルの件数を数えたいときは、COUNTBLANK関数の使い方もあわせてどうぞ。
条件によって表示を切り替えたい場合は、IF関数の使い方を参考にしてください。
エラー処理と組み合わせるなら、IFERROR関数の使い方が便利です。
