FILTERで「#SPILL!」が出たら、まず結果を表示する場所に文字・数式・結合セルがないか確認します。数式が返す複数の値をセルに展開できないことを知らせるエラーです。結果の置き場所を確保して直しましょう。
FILTER 関数の基本(書き方・いろいろな条件・並べ替え・#CALC! の直し方)は、FILTER関数の使い方にまとめています。

画像をタップすると拡大
最初に、どこへ結果が広がるかを確認する
サンプルのE9には次の式が入っています。営業部の人が3人いるため、氏名・部署・売上の3列×3行がE9:G11へ表示されます。このように1つの式から複数セルへ結果が広がる動作を「スピル」と呼びます。
条件を「経理」にすると1行だけになります。ただし、別の条件に変えれば結果が増えます。今空いているセルでも、あとから結果が広がる場所にはメモを置かないようにします。

画像をタップすると拡大

まず動かしてみよう|この記事のサンプルをその場で試せます
練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。
原因別:この順番で確認する
| 確認する場所 | 起こりやすい原因 | 対処 |
|---|---|---|
| 結果の展開先 | 文字、スペース、別の数式がある | 必要な内容は別の場所へ移す。不要なら内容を削除。 |
| 展開先のセル結合 | 結合セルと結果が重なる | 結合を解除するか、数式の場所を移す。 |
| 数式を入れた場所 | Excelテーブルの中に式がある | 抽出結果を表示する式をテーブルの外へ移す。 |
| 数式の参照範囲 | 列全体を指定し、シートの末尾を超える | 実際のデータ行に範囲を絞る。 |
| 結果の行数が毎回変わる式 | 乱数などで配列の大きさが安定しない | 行数が確定する式に分けて見直す。 |
色や罫線などの書式だけなら、通常は展開の妨げになりません。一方、=""のように見た目が空白の数式が入っているセルは、完全な空セルではありません。
練習:邪魔なセルを見つけてエラーを解消する
配布ファイルは正常な状態です。コピーしたファイルで次の操作を行うと、原因と直し方を確認できます。業務データで再現する必要はありません。
消すのは妨げになっている内容です。元の表A9:C13や、数式のあるE9をまとめて削除しないでください。罫線を消しただけでは、セルの文字は残ります。

画像をタップすると拡大
テーブルを使っている場合の置き場所
元データをExcelテーブルにすることはできます。ただし、FILTERなどの結果が複数セルへ広がる式は、テーブルの計算列の中に置かず、別の空き領域や別シートに置きます。元データをすべて通常範囲に戻す前に、数式だけ外へ移せるかを確認しましょう。
IFERRORで隠す前に、展開先を直す
結果を出す場所が塞がっている限り、式をIFERRORで囲んでも抽出結果を置く場所は増えません。エラー表示を隠すことより、元データ・条件・出力先を分けることが先です。サンプルでは出力専用の緑の領域を設けています。
似たエラーとの違い
| 表示 | まず確認すること |
|---|---|
| #SPILL!/#スピル! | 結果を展開する場所が空いているか。 |
| #CALC! | 一致が0件なのにFILTERの第3引数を省略していないか。 |
| #VALUE! | 抽出範囲と条件範囲の行数がそろっているか。 |
| #NAME? | FILTERを利用できるExcelの版か。 |
サンプルは第3引数に「該当なし」を指定しています。「総務」と入力して一致が0件になった場合は、エラーではなく案内が表示されます。
サンプルで結果を確かめる
本文のセル位置はダウンロードファイルにそろえています。まず黄色いセルを変更して動きを確認し、次に自分の表に合う範囲へ置き換えてください。
