【FILTER関数】エラー別の対応方法

ExcelやGoogleスプレッドシートでFILTER関数をうと、「#VALUE!エラー」や「#N/Aエラー」が発生することがあります。 それぞれのエラーごとの原因と対応方法を解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

「FILTERの範囲サイズが一致しません」の場合

条件に「空の場合の値」を指定している

【FILTER関数】エラー別の対応方法

GoogleスプレッドシートのFILTER関数は、Excelとは異なり、3つ目以降の引数もすべて追加の「条件」として扱います。そのため、3つ目の引数に""(空白)のような文字列を指定すると、「条件として認識できない」ため、エラーが発生します。

【FILTER関数】エラー別の対応方法

Googleスプレッドシートで「空の場合の値」を指定したい場合、次のようにIFERROR関数を組み合わせます。

例:=IFERROR(FILTER(A5:B8,B5:B8="りんご"))

IFERROR関数の構成要素:(値, [エラー値])

それぞれの範囲のサイズが異なっている

【FILTER関数】エラー別の対応方法

FILTER関数を使う際、「抽出する範囲」「条件」の範囲のサイズが同じである必要があります。

上図の場合、「抽出する範囲」が5行であるのに対し、条件範囲が6行で、サイズが異なるためエラーとなります。

正しくは、次の数式のように、すべての範囲を同じサイズで指定します。

例:=FILTER(A5:B8,B5:B8="りんご")

スポンサーリンク

「FILTERの評価で、一致するものは見つかりません」の場合

【FILTER関数】エラー別の対応方法

このエラーは、FILTER関数に指定した条件に一致するデータが、指定した「条件範囲」内に一つも見つからなかった場合に表示されます。

原因:

  • 条件の入力ミスや表記のズレ: 余分なスペースが入っていたり、大文字と小文字や表記のズレがある場合。
  • 文字列条件での引用符("")の付け忘れ: 文字列を条件にする場合、"ばなな"のように二重引用符で囲む必要があります。
  • 単純に該当データがない: そもそも、その条件に合うデータが元の範囲に存在しない場合。

エラーを非表示にする方法

条件と一致するデータがない場合にこのエラーを回避するには、次のようにIFERROR関数を組み合わせます。

例:=IFERROR(FILTER(A5:B8,B5:B8="ばなな"))

IFERROR関数の構成要素:(値, [エラー値])

スポンサーリンク

「FILTERの範囲は単一行か単一列にしてください」の場合

【FILTER関数】エラー別の対応方法

このエラーは、FILTER関数の条件として、複数列を指定してしまった場合に表示されます。

図のB5:C8のように複数列を指定したい場合、次のようにそれぞれの列の条件を分けて記述します。

AND条件の場合

例:=FILTER(A5:C8,B5:B8="りんご",C5:C8="りんご")

OR条件の場合

もし、どちらか一方の条件を満たせばよいOR条件にしたい場合は、+(プラス)記号を使って条件を結合します。

例:=FILTER(A5:C8, (B5:B8="りんご") + (C5:C8="りんご"))

スポンサーリンク

「データを上書きするため、配列結果は展開されませんでした」の場合

【FILTER関数】エラー別の対応方法

このエラーは、FILTER関数で抽出した結果が、その下や隣のセルに表示されようとしたとき、すでに別のデータが入力されている場合に表示されます。

このような場合、結果が展開される範囲から既存のデータを削除するか、データの展開先に新しい行や列を挿入し、結果を表示するためのスペースを確保します。

スポンサーリンク

「#NAME?」の場合

【FILTER関数】エラー別の対応方法

このエラーは、関数名が正しく入力できていない場合に表示されます。

FILTER関数のスペルに誤字や脱字がないかチェックしてみてください。もしスペルが正しい場合、お使いのExcelがFILTER関数に対応していない可能性があります。

スポンサーリンク

「数式の解析エラー」の場合

【FILTER関数】エラー別の対応方法

このエラーは、数式の構文に誤りがあるか、数式に記述ミスがある場合に表示されます。

カンマやイコール、括弧などの記号が半角で入力できているか、不足がないかをチェックしてみてください。

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