Excel関数 逆引き集 | 空白とエラーを区別 → ISBLANK

Excel
スポンサーリンク

概要

「空白なのか、エラーなのか」をきちんと見分けたい場面は、とても多いです。

見た目が「何も表示されていない」セルでも、

  • 本当に“何も入っていない”空白セル
  • ""(空文字)を返している数式
  • 実はエラーだけど表示形式や条件付き書式で見えない
    など、中身はバラバラです。

ここをしっかり区別してくれるのが ISBLANK 関数です。
さらに、ISERROR や IF と組み合わせることで、
「空白ならスキップ、エラーなら別扱い」といった柔らかい制御ができます。


ISBLANK の基本

書式と返り値

ISBLANK の基本形はとてもシンプルです。

=ISBLANK(値)

ここでの「値」は、セル参照(例:A2)を入れることが多いです。

結果は必ず TRUE か FALSE のどちらかになります。

  • セルが「完全に何も入力されていない」場合 → TRUE
  • 何かしら入っている(数値・文字列・数式の結果・エラーなど) → FALSE

ポイントは、「見た目」ではなく
“セルに中身があるかどうか” を判定している、ということです。

たとえば、次の 2 つは見た目はどちらも“空白”ですが、動きが違います。

A2 に何も入力していない場合

=ISBLANK(A2)   ' → TRUE

A2 に次の数式が入っている場合

=""            ' 見た目は空白
=ISBLANK(A2)   ' → FALSE(数式が入っているため)

「空白とエラーを区別」というテーマでは、
まず「本物の空白」だけを TRUE にする、という性質を押さえておくことが大事です。


空白とエラーを区別する基本パターン

「空白」「エラー」「正常」の3つを分ける

よくあるニーズは、

  1. 本当に空白:まだ入力されていないだけ
  2. エラー:式やデータに問題がある
  3. 正常値:数値や文字列が正しく入っている

この 3 パターンをきちんと分けたい、というものです。

A2 を判定したいとき、
次のように IF と ISBLANK、ISERROR を組み合わせて書けます。

=IF(
  ISBLANK(A2),
  "空白",
  IF(
    ISERROR(A2),
    "エラー",
    "正常"
  )
)

判定の流れはこうです。

  1. まず ISBLANK(A2) で「本当に何も入っていないか」をチェック
  2. 空白でなければ、今度は ISERROR(A2) で「エラーかどうか」をチェック
  3. どちらでもなければ「正常」扱い

これで、「空白」と「エラー」をちゃんと区別しながら、
正常値も一緒に仕分けできます。


空白ならスキップ、エラーなら 0 などにする

入力されていない行は無視、エラー値は別扱い

例えば、A列に入力値、B列に計算結果が入っているとします。
B2 に「A2 を使った計算」をしたいが、以下のようにしたいとしましょう。

  • A2 が空白なら、B2 も空白(「まだ入力されていないだけ」とみなす)
  • A2 が入っているが、計算の結果エラーになったら 0 にする
  • 正常に計算できたら、その計算結果を表示

こういうときは、まず空白判定を ISBLANK で行い、
その後にエラー判定を行うのが分かりやすいです。

例として、B2 に書く式:

=IF(
  ISBLANK(A2),
  "",
  IFERROR(何らかの計算式, 0)
)

「何らかの計算式」の部分に、たとえば 100/A2 などを入れます。

まず ISBLANK(A2) で「未入力なら完全スルー」、
未入力でなければ計算し、
その結果がエラーなら 0 という流れです。

空白(未入力)と、
入力されているがエラーになっているケースを、
きちんと切り分けることができます。


空白だけを数えたいときの ISBLANK

COUNTIF では拾いきれない“本当の空白”を数える

空白セルの数を数えたいとき、
単に COUNTIF(A2:A100,"") を使うと、

  • 本当に何も入っていないセル
  • ""(空文字)を返している数式が入ったセル

どちらも「空白」としてカウントされてしまいます。

「数式が入っている「空っぽ」は空白とはみなしたくない」
という場合は、ISBLANK を使ったほうが正確です。

一例:

=SUMPRODUCT(--ISBLANK(A2:A100))

ISBLANK(A2:A100) で TRUE/FALSE の配列を作り、
-- で TRUE=1, FALSE=0 に変換、
SUMPRODUCT で合計=「本物の空白セルの個数」を数えています。

この数え方は、
「空白とエラーを区別したい」「空文字も区別したい」というときの定番です。


空白とエラーを視覚的に区別したいとき

表示上のメッセージを変える

エラーが出ているセルに「エラー」、
空白のセルに「未入力」、
正常なセルにはその値をそのまま表示したい場合。

たとえば B2 に、A2 を判定する式として次のように書けます。

=IF(
  ISBLANK(A2),
  "未入力",
  IF(
    ISERROR(A2),
    "エラー",
    A2
  )
)

こうしておくと、

  • A2 が完全な空白 → B2 は「未入力」
  • A2 がエラー(#DIV/0!, #N/A など) → B2 は「エラー」
  • A2 が正常 → B2 は A2 の値

となり、目で見てどのセルがどの状態か、判断しやすくなります。

「空白なのか、エラーなのか、正常なのか」を
一目で区別したい場面では、とても役に立つパターンです。


例題

問題1

A2 が「完全な空白セル」のとき TRUE、
それ以外(数値・文字列・数式・エラーなど)が入っているとき FALSE を返す式を書いてください。

=ISBLANK(A2)

問題2

A2 を判定して、
空白なら「空白」、エラーなら「エラー」、それ以外は「正常」と表示したいです。
そのための式を書いてください。

=IF(
  ISBLANK(A2),
  "空白",
  IF(
    ISERROR(A2),
    "エラー",
    "正常"
  )
)

問題3

A2 に入力された値を使って計算したいが、
A2 が空白なら何も表示せず(””)、
A2 が入っていて計算結果がエラーなら 0、
正常なら計算結果を表示したいとします。
「何らかの計算式」を 100/A2 としたとき、B2 に書く式を書いてください。

=IF(
  ISBLANK(A2),
  "",
  IFERROR(100/A2, 0)
)

問題4

A2:A100 の中で、「本当に何も入力されていない空白セル」の数を数えたいです。
ISBLANK を使った式を書いてください。

=SUMPRODUCT(--ISBLANK(A2:A100))

問題5

A2 を判定して、
空白なら「未入力」、エラーなら「エラー」、
それ以外(正常値)の場合は A2 の値をそのまま表示したいです。
B2 に書く式を書いてください。

=IF(
  ISBLANK(A2),
  "未入力",
  IF(
    ISERROR(A2),
    "エラー",
    A2
  )
)

まとめ

「空白とエラーを区別 → ISBLANK」のポイントは、

  • ISBLANK は「本当に何も入っていないセル」だけ TRUE
  • 空文字 "" やエラー、数式の入った“見かけ上の空白”は FALSE
  • ISERROR や IF と組み合わせることで
    空白・エラー・正常値をきちんと分けられる

というところにあります。

まずはこの型を覚えておくと、応用しやすくなります。

=IF(
  ISBLANK(セル),
  "空白のときの処理",
  IF(
    ISERROR(セル),
    "エラーのときの処理",
    "正常のときの処理"
  )
)

あなたの表の中で、「空白」と「エラー」がごちゃっと混ざってよく分からなくなっているところがあれば、
一度 ISBLANK を使って“ちゃんと仕分け”してみてください。
そのあとにエラー対応や集計をすると、格段にやりやすくなります。

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