Excelの#SPILL!(スピル)エラーを直す方法|FILTERで原因を確認

Excelの#SPILL!(スピル)エラーを直す方法|FILTERで原因を確認

FILTERで「#SPILL!」が出たら、まず結果を表示する場所に文字・数式・結合セルがないか確認します。数式が返す複数の値をセルに展開できないことを知らせるエラーです。結果の置き場所を確保して直しましょう。

FILTER 関数の基本(書き方・いろいろな条件・並べ替え・#CALC! の直し方)は、FILTER関数の使い方にまとめています。

この記事の基本の式
数式=FILTER(A9:C13,B9:B13=E4,"該当なし")
練習用Excelファイル(無料ダウンロード)
対応:Microsoft 365・Excel 2021・Excel 2024開くシートは「まず試す」。最初はこの3ステップです。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り
保護ビューで入力できない場合は、入手元を確認して「編集を有効にする」を選びます。別の練習を始める前に、ファイルのコピーを保存しておくと初期状態に戻せます。
目次

最初に、どこへ結果が広がるかを確認する

サンプルのE9には次の式が入っています。営業部の人が3人いるため、氏名・部署・売上の3列×3行がE9:G11へ表示されます。このように1つの式から複数セルへ結果が広がる動作を「スピル」と呼びます。

E9に入力:結果が広がる範囲を確認する
数式=FILTER(A9:C13,B9:B13=E4,"該当なし")
ひとことで部署がE4と同じ行を、E9から右と下に広げて表示する
A9:C13
取り出す範囲(氏名・部署・売上)です
B9:B13=E4
部署がE4と同じ行です
"該当なし"
1件もないときの表示です
補足結果は、E9から右と下に広がります(営業なら E9:G11)。この範囲に、文字や別の式があると、#SPILL! エラーになります。

条件を「経理」にすると1行だけになります。ただし、別の条件に変えれば結果が増えます。今空いているセルでも、あとから結果が広がる場所にはメモを置かないようにします。

部署で絞り込んだ行を広げて表示する(FILTER)式 =FILTER(A9:C13,B9:B13=E4,"該当なし") の解説図。E9に入力する
E9に =FILTER(A9:C13,B9:B13=E4,"該当なし") を入力。部署が「営業」の 田中・鈴木・高橋の 3行を取り出す

まず動かしてみよう|この記事のサンプルをその場で試せます

練習用ファイルをダウンロードしなくても、記事と同じデータ・同じセル番地のサンプルをここで動かせます。黄色いセルを書き換えると、結果がその場で変わります。各解説の最後にある「▶ この式を試す」を押すと、このツールの該当セルへ移動します。

原因別:この順番で確認する

確認する場所起こりやすい原因対処
結果の展開先文字、スペース、別の数式がある必要な内容は別の場所へ移す。不要なら内容を削除。
展開先のセル結合結合セルと結果が重なる結合を解除するか、数式の場所を移す。
数式を入れた場所Excelテーブルの中に式がある抽出結果を表示する式をテーブルの外へ移す。
数式の参照範囲列全体を指定し、シートの末尾を超える実際のデータ行に範囲を絞る。
結果の行数が毎回変わる式乱数などで配列の大きさが安定しない行数が確定する式に分けて見直す。

色や罫線などの書式だけなら、通常は展開の妨げになりません。一方、=""のように見た目が空白の数式が入っているセルは、完全な空セルではありません。

練習:邪魔なセルを見つけてエラーを解消する

配布ファイルは正常な状態です。コピーしたファイルで次の操作を行うと、原因と直し方を確認できます。業務データで再現する必要はありません。

1
E4を「経理」にし、E9:G9の1行だけになったことを確認します。
2
結果のすぐ下のE10に「メモ」と入力します。
3
E4を「営業」に戻すと、3行の結果を広げようとしてE10にぶつかり、E9にスピルエラーが出ます。
4
E9を選び、エラーの警告から「妨げになっているセルの選択」などの項目を使います。表示名はExcelの版で異なる場合があります。
5
E10の「メモ」を結果の範囲外へ移すか、不要ならDeleteキーで内容を消します。
6
E9:G11に3人のデータが戻ることを確認します。

消すのは妨げになっている内容です。元の表A9:C13や、数式のあるE9をまとめて削除しないでください。罫線を消しただけでは、セルの文字は残ります。

テーブルを使っている場合の置き場所

元データをExcelテーブルにすることはできます。ただし、FILTERなどの結果が複数セルへ広がる式は、テーブルの計算列の中に置かず、別の空き領域や別シートに置きます。元データをすべて通常範囲に戻す前に、数式だけ外へ移せるかを確認しましょう。

IFERRORで隠す前に、展開先を直す

結果を出す場所が塞がっている限り、式をIFERRORで囲んでも抽出結果を置く場所は増えません。エラー表示を隠すことより、元データ・条件・出力先を分けることが先です。サンプルでは出力専用の緑の領域を設けています。

似たエラーとの違い

表示まず確認すること
#SPILL!/#スピル!結果を展開する場所が空いているか。
#CALC!一致が0件なのにFILTERの第3引数を省略していないか。
#VALUE!抽出範囲と条件範囲の行数がそろっているか。
#NAME?FILTERを利用できるExcelの版か。

サンプルは第3引数に「該当なし」を指定しています。「総務」と入力して一致が0件になった場合は、エラーではなく案内が表示されます。

サンプルで結果を確かめる

本文のセル位置はダウンロードファイルにそろえています。まず黄色いセルを変更して動きを確認し、次に自分の表に合う範囲へ置き換えてください。

練習用Excelファイル(無料ダウンロード)
「似たエラーとの違い」の解説で使うExcelデータです。数式と練習データが入っているので、本文の式を同じ表で試せます。
Excelファイル(.xlsx)/登録不要/数式・練習データ入り

関連する解説・参考資料

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次