FILTERで「範囲サイズが一致しません」と表示されたときは、抽出対象と条件範囲の行数・列方向を合わせます。FILTER(A2:C100,B2:B100="完了") のように、抽出対象が99行なら条件も99行が必要です。
FILTERの抽出範囲と条件範囲を比べる
- 抽出対象がA2:C100なのに条件をB:Bのように列全体で指定していないか確認します。
- 対象範囲と条件範囲の開始行・終了行が同じか調べます。
- 行を絞る式に列方向の条件を混ぜていないか確認します。
- 該当データがない場合の
#N/Aと、サイズ不一致のエラーを区別します。
列と行の範囲をそろえる
- 数式のコピーを別セルに置き、範囲を小さくします。
- 例として
=FILTER(A2:C10,B2:B10="完了")を作り、対象9行と条件9行をそろえます。 - 複数の条件を使う場合、追加の各条件も同じ長さの範囲にします。
- 条件列に空欄がある場合は、空欄を抽出対象にするかを明確にします。
- 式が正しく動いたら開始行・終了行を本来の範囲へ戻します。
条件式を足す前に単一条件で検証する
- 抽出結果を直接上書きしてしまうと、元データと結果の区別がつかなくなります。
FILTERは条件に一致する行がなければ#N/Aを返すため、データがない状態を故障と混同しないでください。- 条件用の列が別のシートにある場合、行の対応がずれていないかも確認します。
FILTERの結果件数を確認する
- 条件に一致する行を元表から手で3行選び、結果に含まれるか確認します。
- 一致しない行が結果に混入していないかを確かめます。
行の抽出と列の抽出を混ぜない
=FILTER(A2:C10,B2:B10="完了") はA2:C10の 9行 から、B列が「完了」の行を選ぶ例です。 B2:B とだけ指定すると条件側の行数が一致せず、サイズ不一致になります。公式ヘルプの条件は、抽出範囲の行または列の長さに一致させる必要があります。
複数条件では =FILTER(A2:C10,B2:B10="完了",C2:C10>0) のように、追加条件も同じ9行で作ります。いっぽう「左から2列目だけ抽出する」などの列方向の処理では、条件の向きが違います。行条件と列条件を1回のFILTERに混在させることはできません。 この場合は別の関数を組み合わせるか、抽出を2段階に分けます。
エラーごとに処置が違う
サイズ不一致ならまず範囲の開始行・終了行のズレを直します。条件に合う行が0件で #N/A が出る場合は範囲ではなく条件の結果を調べます。エラーを無条件に IFERROR(...,"") で隠すと、範囲設定ミスまで「該当なし」に見えるため、初期検査では原エラーの種類を確認してください。動作確認では一致1件、非一致1件、該当0件の3条件を用意すると切り分けやすくなります。
