スプレッドシートのFILTER関数が#N/Aになる|条件と範囲の直し方
FILTERの#N/Aは、条件と範囲を先に確認する
スプレッドシートのFILTERで#N/Aが出たら、すぐにエラーを隠さず、条件と範囲を順に確認します。
見る順番は次の3つです。
- 取り出す範囲と条件範囲の行数、行の対応を確認する
- 条件に一致する行が実際にあるか確認する
- 正常な0件だと分かってからIFNAで表示を変える
GoogleのFILTER関数ヘルプでは、一致する値がない場合に#N/Aを返すと説明されています。
ただし、#N/Aという表示だけでは原因を決められません。まず式の指定ミスと正常な0件を切り分けましょう。

この図は確認手順をまとめた説明図で、実際のアプリ画面を写したものではありません。
まずは5行の表で、正しい式を読む
ここで扱うのはGoogle スプレッドシートのFILTER関数です。メニューにあるフィルタ機能とは別です。
次の表は学習用の架空データです。1行目が見出しで、2〜6行目がデータです。
| 行 | A列・品名 | B列・区分 | C列・個数 |
|---|---|---|---|
| 1 | 品名 | 区分 | 個数 |
| 2 | ノート | 文具 | 3 |
| 3 | マグ | 雑貨 | 1 |
| 4 | ペン | 文具 | 5 |
| 5 | タオル | 雑貨 | 2 |
| 6 | 封筒 | 文具 | 4 |
文具の行を取り出す式は =FILTER(A2:C6,B2:B6="文具") です。
A2:C6 は取り出す表です。B2:B6="文具" は、B列が文具である行だけを通す条件です。
表を目で照合すると、条件に合うのは2・4・6行目の3行です。
- ノート、文具、3
- ペン、文具、5
- 封筒、文具、4

図の結果側にある見出しは説明用です。FILTERは A2:C6 を指定しているため、見出し行を出力しません。
この図も架空データによる説明図で、実際のアプリ画面や実行結果のスクリーンショットではありません。
自分で試すなら、新しい空のシートのA1:C6へ、見出しと5行のデータを入力します。左端の「行」は説明用なので入力しません。
同じシートのE2へ式を入れる前に、出力先となるE2:G6に既存の値や式がないか確認してください。
条件に一致する行が、本当にあるか確認する
範囲がそろっていたら、条件を満たすデータがあるかを表で確かめます。
条件の文字と元データを照合する
=FILTER(A2:C6,B2:B6="食品") とすると、例の表には食品がないため0件です。
この場合、FILTERが#N/Aを返すのは仕様どおりです。B列に食品がないことを目視で確かめられます。
0件のつもりがないなら、条件に使う列、文字、余分な空白を確認します。列を取り違えていないかも見ましょう。
複数条件は1つずつ確認する
=FILTER(A2:C6,B2:B6="文具",C2:C6>=4) は、文具で個数が4以上という2条件です。
表で数えると該当するのはペンと封筒の2行です。各条件は同じ行に対して判定されます。
条件を追加して0件になったら、いったん1条件の式へ戻します。1つ目が動く状態を確認してから次を足します。
この例では >=4 が4以上、>4 が4より大きい指定です。封筒の個数4を含めたいなら >=4 を使います。
範囲サイズは、開始行と終了行をそろえる
誤りの例は =FILTER(A2:C6,B2:B5="文具") です。
取り出す範囲は2〜6行目の5行ですが、条件範囲は2〜5行目の4行です。判定する行数が合っていません。
この表なら =FILTER(A2:C6,B2:B6="文具") と直します。どちらも2行目から6行目を見ます。

この説明図は行数の違いを示したもので、実際のアプリ画面ではありません。
A2:C6 と B1:B6 では、片方だけ見出しを含むため5行対6行です。
A2:C6 と B3:B7 はどちらも5行ですが、品目と判定条件の行がずれます。長さだけでなく対応も重要です。
このずれは必ず#N/Aになるとは限らず、条件次第で意図しない行を取り出すことがあります。
同じ表を判定する今回の例では、開始行2と終了行6をそろえます。行を増やすときは両方の終了行を伸ばします。
正常な0件と分かったら、IFNAで「該当なし」にする
食品が本当に0件だと確認できたら、次のように表示を変えられます。
=IFNA(FILTER(A2:C6,B2:B6="食品"),"該当なし")
GoogleのIFNA関数ヘルプによると、IFNAは値が#N/Aのときだけ代替値を返します。
空白を出したい場合は末尾を "" にできます。ただ、最初は理由が分かる「該当なし」のほうが確認しやすいでしょう。
重要なのは、IFNA自体は#N/Aの原因を判別しないことです。
範囲の指定ミスや元データ由来の#N/Aでも置き換えるため、原因を確認する前に使うと問題を見落とすおそれがあります。
| 関数 | 置き換える対象 | 使う場面 |
|---|---|---|
| IFNA | #N/Aだけ | 正常な0件の表示を変える |
| IFERROR | #N/Aを含む各種エラー | 対象エラーを確認してから使う |
IFERRORの公式ヘルプも、処理が目的に合うか確認するよう案内しています。
どちらも式の間違いを修正する関数ではありません。原因調査の最初からIFERRORで広く隠すのは避けましょう。
なお、FILTERの3番目以降の引数は追加条件です。0件時の表示を指定する場所ではありません。
FILTER(A2:C6,B2:B6="食品","該当なし") のような式にはせず、表示変更にはIFNAを外側に置きます。
直らない時と、修正後のチェック
まだ直らないときは、IFNAを外してFILTER単体に戻し、範囲、条件、元データの順に見直します。
「#N/A」以外のエラーが表示されたら、その内容を別に確認します。出力先の既存値をむやみに削除しないでください。
修正後は、品名だけでなく区分と個数も同じ行になっているか照合します。
この架空表での確認結果は次のとおりです。
- 文具:ノート、ペン、封筒の3行
- 食品:0行
- 文具かつ個数4以上:ペン、封筒の2行
これらの件数は架空表を手で照合した結果です。実アプリでの動作を検証した数値ではありません。
記事の関数仕様は、Googleの公式ヘルプを2026年10月22日に確認した内容に基づきます。
まとめ
FILTERの#N/Aは、条件に一致する行がない場合と、範囲の指定ミスを分けて調べます。
まず開始行・終了行と行の対応をそろえ、次に条件を1つずつ元データと照合してください。
正常な0件だと確認できたときだけIFNAで「該当なし」にします。まず小さな表で3つの結果を確かめてみましょう。
