Excel関数 逆引き集 | エラー行のみ抽出 → FILTER

Excel
スポンサーリンク

概要

大量のデータを扱っていると、
「どの行がエラーになっているのかだけ知りたい」
という場面が必ず出てきます。

  • 計算式の一部が壊れている
  • 参照切れで #REF! が出ている
  • 割り算で #DIV/0! が出ている
  • VLOOKUP の検索失敗で #N/A が出ている

こうした “エラー行だけ” を一瞬で抽出できる のが
FILTER × ISERROR の組み合わせです。

FILTER は「条件に合う行だけを抽出する」関数、
ISERROR は「そのセルがエラーかどうか」を判定する関数。

この2つを組み合わせると、
エラー行だけを抽出する強力なフィルタリング機能 が完成します。


FILTER × ISERROR の基本

基本形(テンプレート)

=FILTER(抽出したい範囲, ISERROR(判定したい範囲))

動きは次の通りです。

  • ISERROR が TRUE の行だけ FILTER が抽出
  • エラーでない行は自動的に除外

たとえば、A2:A20 の中からエラーだけを抽出したいなら、

=FILTER(A2:A20, ISERROR(A2:A20))

これだけで エラーセルだけの一覧 が作れます。


行単位でエラー行を抽出する

A列にエラーがある行を丸ごと抽出

A列に計算式が入っていて、
エラーになっている行だけを B〜D列ごと抽出したい場合。

=FILTER(A2:D20, ISERROR(A2:A20))

動き

  • A列がエラー → その行全体を抽出
  • A列が正常 → 抽出されない

「どの行が壊れているか」を一瞬で把握できます。


複数列のどこかにエラーがある行を抽出する

OR 条件で複数列をチェック

A列または B列のどちらかにエラーがある行を抽出したい場合。

=FILTER(A2:D20, ISERROR(A2:A20) + ISERROR(B2:B20))

ISERROR の結果は
TRUE=1、FALSE=0
として扱われるため、
足し算で「どちらかが TRUE なら抽出」という OR 条件になります。


特定のエラーだけ抽出する(応用)

#N/A だけ抽出したい場合

検索失敗だけを抽出したいときは ISNA を使います。

=FILTER(A2:A20, ISNA(A2:A20))

#DIV/0! だけ抽出したい場合

#DIV/0! は ISERR で判定できます(#N/A 以外のエラー)。

=FILTER(A2:A20, ISERR(A2:A20))

エラーがない場合の対策

FILTER は抽出結果が空だとエラーになる

エラー行が1つもない場合、FILTER は #CALC! を返します。

それを避けるには IFERROR を組み合わせます。

=IFERROR(FILTER(A2:D20, ISERROR(A2:A20)), "")

これで

  • エラー行がある → 抽出結果を表示
  • エラー行がない → 空白

という安全な動きになります。


例題

問題1

A2:A20 の中から、エラーになっているセルだけを抽出する FILTER の式を書いてください。

=FILTER(A2:A20, ISERROR(A2:A20))

問題2

A2:D20 の表のうち、A列にエラーがある行だけを抽出する式を書いてください。

=FILTER(A2:D20, ISERROR(A2:A20))

問題3

A列または B列のどちらかにエラーがある行を抽出する式を書いてください。

=FILTER(A2:D20, ISERROR(A2:A20) + ISERROR(B2:B20))

問題4

A2:A20 の中から、#N/A エラーだけを抽出する式を書いてください。

=FILTER(A2:A20, ISNA(A2:A20))

問題5

A2:D20 の中にエラー行が1つもない場合は空白を返し、
エラー行がある場合は抽出結果を表示する式を書いてください。

=IFERROR(FILTER(A2:D20, ISERROR(A2:A20)), "")

まとめ

「エラー行のみ抽出 → FILTER × ISERROR」は、
大量データのトラブルシュートに欠かせないテクニックです。

まずはこの形を覚えておけば十分です。

=FILTER(範囲, ISERROR(範囲))

あなたのシートの中で
「どこが壊れているのか分からない」
という場面があれば、ぜひこの方法で エラー行だけを抽出 してみてください。
デバッグ効率が劇的に上がります。

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