Excel関数 逆引き集 | 空白か判定 → ISBLANK

Excel VBA Excel
スポンサーリンク

概要

「このセルは“本当に空白”なのか?」
「””(空文字)が入っているのか?」
「空白セルだけを抽出したい」
「空白のときだけ別処理をしたい」

こういう“空白判定”に使うのが 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)TRUEFALSEFALSEFALSE
A2=""TRUETRUEFALSEFALSE

空白も空文字も同じ扱いにしたい → 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 と セル="" の違いを理解すると、
空白判定の精度が一気に上がり、
データチェックや前処理がとてもスムーズになります。

タイトルとURLをコピーしました