概要
「このセルは“本当に空白”なのか?」
「””(空文字)が入っているのか?」
「空白セルだけを抽出したい」
「空白のときだけ別処理をしたい」
こういう“空白判定”に使うのが ISBLANK(イズブランク)関数です。
ISBLANK はとてもシンプルで、
- セルが 完全に空 → TRUE
- 何か入っている(数値・文字列・空文字””・スペースなど) → FALSE
という判定を返します。
ただし、“”(空文字)は空白ではないという点が、初心者が最もつまずくポイントです。
ここを丁寧に解説していきます。
ISBLANK の基本
書式
=ISBLANK(セル)
判定結果:
- セルが完全に空 → TRUE
- 何か入っている(数値・文字列・空文字””・スペース) → FALSE
例:
=ISBLANK(A2) ' A2 が完全に空なら TRUE
ISBLANK の基本パターン
例1:セルが空白かどうか判定する
=ISBLANK(A2)
A2 が完全に空 → TRUE
それ以外 → FALSE
例2:空白のときだけメッセージを表示
=IF(ISBLANK(B2), "未入力です", "入力済み")
例3:空白でないときだけ計算する
=IF(NOT(ISBLANK(C2)), C2*10, "")
C2 が空白でない → C2×10
空白 → 空白のまま
ISBLANK と “”(空文字)の違い
ISBLANK は “” を空白とみなさない
次の式を見てください。
=IF(D2="", "", D2)
この式は「空欄なら空欄を返す」ように見えますが、
実際には “”(空文字)という“文字列”がセルに入る ため、
ISBLANK(D2) は FALSE になります。
つまり、
- 見た目は空欄
- 中身は “”(空文字)
- ISBLANK は FALSE
という状態になります。
空白判定を厳密にしたいときの比較
| 判定方法 | 空白セル | “”(空文字) | 数値 | 文字列 |
|---|---|---|---|---|
ISBLANK(A2) | TRUE | FALSE | FALSE | FALSE |
A2="" | TRUE | TRUE | FALSE | FALSE |
空白も空文字も同じ扱いにしたい → A2=""
完全な空白だけ判定したい → ISBLANK(A2)
と覚えると整理しやすいです。
ISBLANK を使った実務パターン
例1:空白セルだけ抽出(FILTER)
A2:A100 の中から「完全に空白のセルだけ」を抽出したい場合:
=FILTER(A2:A100, ISBLANK(A2:A100))
例2:空白セルを除外して一覧化
=FILTER(A2:A100, NOT(ISBLANK(A2:A100)))
例3:空白セルにデフォルト値を入れる
=IF(ISBLANK(B2), "未設定", B2)
例4:空白セルだけ別処理(AND と組み合わせ)
「C2 が空白 かつ D2 が“有効”」のときだけ処理したい場合:
=IF(AND(ISBLANK(C2), D2="有効"), "対象", "対象外")
ISBLANK の注意点
“”(空文字)は空白ではない
次の式で “” を返すと、見た目は空欄でも ISBLANK は FALSE。
=IF(E2>=100, E2*10, "")
空白判定をしたいときは、
ISBLANK と “” の違いを意識することが重要です。
スペース(半角/全角)が入っていると FALSE
見た目が空欄でも、スペースが入っていると ISBLANK は FALSE です。
スペースを除外したい場合は TRIM と組み合わせます。
=ISBLANK(TRIM(A2))
数式が入っているセルは空白ではない
たとえ数式が “” を返していても、
「数式が入っている」という時点で ISBLANK は FALSE です。
例題
問題1
A2 が完全に空白のとき TRUE、それ以外は FALSE を返す式を書いてください。
=ISBLANK(A2)
問題2
B2 が空白のとき「未入力」、空白でないとき「OK」と表示する式を書いてください。
=IF(ISBLANK(B2), "未入力", "OK")
問題3
C2 が空白でないときだけ C2×10 を計算し、空白のときは空白を返す式を書いてください。
=IF(NOT(ISBLANK(C2)), C2*10, "")
問題4
A2:A100 の中から「完全に空白のセルだけ」を抽出して B2 から表示する FILTER の式を書いてください。
=FILTER(A2:A100, ISBLANK(A2:A100))
問題5
D2 が空白 かつ E2 が「有効」のときだけ「対象」、それ以外は「対象外」と表示する式を書いてください。
=IF(AND(ISBLANK(D2), E2="有効"), "対象", "対象外")
まとめ
ISBLANK は「完全な空白」を判定する関数です。
よく使う型は次の通りです。
空白判定
=ISBLANK(セル)
空白のときだけ処理
=IF(ISBLANK(セル), 処理1, 処理2)
空白セルだけ抽出
=FILTER(範囲, ISBLANK(範囲))
空白でないときだけ計算
=IF(NOT(ISBLANK(セル)), 計算式, "")
ISBLANK と セル="" の違いを理解すると、
空白判定の精度が一気に上がり、
データチェックや前処理がとてもスムーズになります。
