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

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

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

無料Excelサンプルで、まず試してみる

FILTERのスピル確認サンプルをダウンロード(無料・Excel)

.xlsx/登録不要/数式・練習データ入り
対応:Microsoft 365・Excel 2021・Excel 2024

開くシートは「まず試す」。最初はこの3ステップです。

  1. 「まず試す」シートの黄色いE4を「営業」から「経理」に変えます。
  2. E9:G9に「佐藤・経理・200」の1行が表示されることを確認します。
  3. E4を「営業」に戻すと3行になります。結果が広がる場所を確認できたら、本文の再現手順へ進みます。
営業を指定した正常な抽出結果。E9の1つの式から、3列×3行へ結果が広がっています。
営業を指定した正常な抽出結果。E9の1つの式から、3列×3行へ結果が広がっています。
画像をタップ・クリックして拡大

保護ビューで入力できない場合は、入手元を確認して「編集を有効にする」を選びます。別の練習を始める前に、ファイルのコピーを保存しておくと初期状態に戻せます。

目次

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

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

=FILTER(A9:C13,B9:B13=E4,"該当なし")

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

元データは5人分。部署が営業の3人だけをFILTERで取り出しています。
元データは5人分。部署が営業の3人だけをFILTERで取り出しています。
画像をタップ・クリックして拡大

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

確認する場所起こりやすい原因対処
結果の展開先文字、スペース、別の数式がある必要な内容は別の場所へ移す。不要なら内容を削除。
展開先のセル結合結合セルと結果が重なる結合を解除するか、数式の場所を移す。
数式を入れた場所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をまとめて削除しないでください。罫線を消しただけでは、セルの文字は残ります。

エラーが起きる前の状態です。経理で1行にした後、E10にメモを入力。このまま営業へ戻すと、3行の結果とメモがぶつかります。
エラーが起きる前の状態です。経理で1行にした後、E10にメモを入力。このまま営業へ戻すと、3行の結果とメモがぶつかります。
画像をタップ・クリックして拡大

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

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

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

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

似たエラーとの違い

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

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

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

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

FILTERのスピル確認サンプルをダウンロード(無料・Excel)

最初に試す操作へ戻る

関連する解説・参考資料

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

この記事を書いた人

コメント

コメントする

目次