FILTERで「一致するものはありません」と出るとき

FILTERで「一致するものはありません」と出るとき

記事
IT・テクノロジー
カテゴリ:スプレッドシート

FILTERを入れたら#N/Aになり、「一致するものはありません」と出た。指定した条件に合う行が0件なら、このエラーになります。まずは条件と元データを比べてみましょう。

ここではPC版のGoogleスプレッドシートで、進捗が「完了」の行を取り出す例に絞ります。

1.取り出す範囲と条件の範囲をそろえる

A列がID、B列が作業名、C列が進捗。データが2〜5行目なら、次の式を使います。自分の表では、A2:C5とC2:C5を読み替えてください。

確認用の出力先はF2:H5です。この4行×3列すべてに値や数式がなく、結合されていないことを確かめ、F2に入力します。埋まっていれば、元の内容を消さず、別の空き範囲を使ってください。明細が4行より多い表では、その行数分の空きを確保します。

=FILTER(A2:C5,C2:C5="完了")

取り出す範囲も、条件を見る範囲も、2〜5行目にそろえます。条件だけC2:C4なら長さが違います。範囲サイズが合わないエラーは、先にここを直します。

2.条件に合う行があるか確認する

C2:C5に「完了」があるか見ます。「作業中」や「未着手」だけなら、今回の条件では0件です。

見た目で判断しづらいときは、D2:D5すべてに値や数式がなく、結合されていないことを確認し、D2に次の式を入れます。別の場所を使う場合も、元データ・抽出結果とは重ねず、条件範囲と同じ行数分を空けてください。

=ARRAYFORMULA(C2:C5="完了")

D2:D5に判定が出ます。C2から順に「作業中・完了・未着手・作業中」なら、結果は「FALSE・TRUE・FALSE・FALSE」。TRUEの3行目が取り出す行です。

02_完了の行を取り出す_説明図.png
条件の書き間違いなら式を直します。エラーを消すためだけに、実際の進捗を「完了」へ変えてはいけません。判定自体がエラーになる、またはTRUEがあるのに抽出できない場合は、元データのエラーや式の範囲を確認してください。

3.本当に0件なら、表示を「該当なし」にする

条件・範囲・元データに問題がなく、本当に0件と分かったら、確認用のF2の式を次に変えると「該当なし」と表示できます。

=IFNA(FILTER(A2:C5,C2:C5="完了"),"該当なし")

IFNAは、原因を問わず#N/Aを置き換えます。元データの#N/Aや範囲の間違いを隠さないよう、先にIFNAなしの式で確認してください。

完了の行がある場合は、その行のID・作業名・進捗がそろって出るか照合します。今回の例で3行目が「A-002・在庫確認・完了」なら、F2:H2にこの1件が出ます。本当に0件ならF2に「該当なし」です。確認のためだけに元データを書き換える必要はありません。

明細を追加したら、式の2つの範囲を同じ最終行まで広げてください。数値・日付・チェックボックスの条件や複数条件、「配列結果は展開されませんでした」という#REF!は別に確認が必要です。

カスタマイズやご要望がある場合は、お気軽にご相談ください。

サービス数40万件のスキルマーケット、あなたにぴったりのサービスを探す