Excel関数 逆引き集 | 空配列エラー回避 → IFERROR

Excel
スポンサーリンク

概要

FILTER・UNIQUE・SORT などの 動的配列関数 を使っていると、
「条件に合うデータが 1 件もない」
という状況がよくあります。

そのとき Excel は 空配列(空の結果) を返し、
多くの場合 #CALC!(計算できません)エラー になります。

これを避けるために使うのが IFERROR(または IFNA)で空配列を包むテクニックです。

空配列エラーは「悪いエラー」ではなく、
「該当データがなかった」という自然な状態なので、
“エラーを隠す” のではなく “代わりの表示を出す” のがポイントです。


空配列エラーとは?

FILTER の典型例

例えば、A2:A20 の中から「りんご」だけ抽出したいとします。

=FILTER(A2:A20, A2:A20="りんご")

もし「りんご」が 1 件もなければ、
FILTER は 空配列 を返し、Excel は #CALC! を表示します。

これは「計算不能」ではなく
「該当データがゼロ件」という自然な結果です。


IFERROR で空配列エラーを回避する基本形

テンプレート

=IFERROR(動的配列関数, 代わりに返す値)

空配列エラーが出たときだけ、
第 2 引数の値を返します。


FILTER × IFERROR の基本パターン

該当なしのときは空白にする

=IFERROR(
  FILTER(A2:A20, A2:A20="りんご"),
  ""
)

動き:

  • 「りんご」がある → FILTER の結果をそのまま返す
  • 「りんご」がない → ""(空白)を返す

該当なしのときはメッセージを出す

=IFERROR(
  FILTER(A2:A20, A2:A20="りんご"),
  "該当データなし"
)

ユーザーにとって分かりやすい表示にできます。


UNIQUE × IFERROR の空配列対策

重複を除いた結果が空になる場合

=IFERROR(UNIQUE(A2:A20), "データなし")

UNIQUE も、対象が空だと空配列エラーになるため、
IFERROR で包むのが定石です。


SORT × IFERROR の空配列対策

並べ替え対象が空の場合

=IFERROR(SORT(A2:A20), "")

SORT も空配列を返すと #CALC! になるため、
IFERROR で安全に処理できます。


FILTER と複数条件で空配列になりやすい例

条件が厳しすぎると空配列になる

=FILTER(A2:C100, (A2:A100="東京") * (C2:C100>100))

東京で、かつ C 列が 100 超えの行が 1 件もない場合、
空配列 → #CALC! になります。

これを避けるには:

=IFERROR(
  FILTER(A2:C100, (A2:A100="東京") * (C2:C100>100)),
  "該当なし"
)

空配列エラー回避の考え方

1. 空配列は「正常な結果」と考える

→ エラーではなく「該当なし」

2. IFERROR で“代わりの表示”を返す

→ 空白、メッセージ、0 など

3. FILTER・UNIQUE・SORT など動的配列関数では必須

→ 空配列は避けられないため


例題

問題1

A2:A20 の中から「りんご」だけを FILTER で抽出し、
該当がない場合は空白を返したい。
その式を書いてください。

=IFERROR(FILTER(A2:A20, A2:A20="りんご"), "")

問題2

A2:C100 の中から「東京」かつ C 列が 100 超えの行だけ抽出し、
該当がない場合は「該当なし」と表示したい。
その式を書いてください。

=IFERROR(FILTER(A2:C100, (A2:A100="東京")*(C2:C100>100)), "該当なし")

問題3

A2:A20 の UNIQUE 結果が空配列になったとき、
「データなし」と表示したい。
その式を書いてください。

=IFERROR(UNIQUE(A2:A20), "データなし")

問題4

A2:A20 を SORT した結果が空配列だった場合、
空白を返す式を書いてください。

=IFERROR(SORT(A2:A20), "")

問題5

A2:A20 の中から 50 より大きい値だけ抽出し、
該当がない場合は「0」を返したい。
FILTER × IFERROR の式を書いてください。

=IFERROR(FILTER(A2:A20, A2:A20>50), 0)

まとめ

「空配列エラー回避 → IFERROR」のポイントは次の通りです。

  • FILTER・UNIQUE・SORT は、該当なしのとき 空配列エラー(#CALC!) を返す
  • 空配列は“異常”ではなく“該当なし”なので、IFERROR で代替表示を返す
  • 空白・メッセージ・0 など、用途に応じて柔軟に設定できる

まずはこの基本形を覚えておくと便利です。

=IFERROR(動的配列関数, 代わりの値)

動的配列関数を使うなら、
空配列エラー対策は“必須の仕上げ”です。
あなたの表でもぜひ取り入れてみてください。

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