
エクセルの「スピル」の基本的な仕組みから、「#SPILL!」エラーが出る原因と解決策、スピルをオフ(解除)にする方法まで、初心者向けに分かりやすく解説します。
「スピル(SPILL)」機能とは?

Excel 2021以降に導入された機能で、「1つのセルに数式を入力するだけで、範囲同士の計算をまとめて処理してくれる機能」のことです。
例:=A2:A4*B2:B4
💡 ポイント:
- D2セルに数式を入れただけで、D4セルまでの計算結果が自動で表示されます。
📖 覚えておくと便利なスピル範囲演算子(#):

スピル機能で展開した結果は、先頭のセルの後ろに#をつけるだけで範囲全体を計算できます。
例:=SUM(D2#)
💡 ポイント:
- 後から元のデータが増えても、
#を使うことで計算範囲が自動で拡張されます。
⚠️ 注意点:自分で手入力したデータや、普通の表の範囲には使えません。
「#SPILL!」エラーの原因と解決方法
原因①:結果の展開先に「別のデータ」がある

数式を入力したセルの下や右の範囲に、別の数字や文字、見えない「スペース(空白文字)」が入っている状態です。
解決方法:
- 数式を入れたセルを選択すると、結果の展開範囲が青い点線の枠で囲まれます。その枠の中に入っているデータを削除するか、別の場所に移動させます。
原因②:「テーブル機能」になっている

「テーブル機能」の中では、スピル機能を使うことができない仕様になっています。
解決方法:
- 数式だけテーブルの外で使うか、テーブルを普通の表に戻します。テーブルを戻すには、テーブル内のセルを選択し、「テーブルデザイン」タブの「範囲に変換」をクリックします。
📖 WEB版(Excel Online)の場合:
WEB版には「範囲に変換」ボタンがありません。表全体をコピーして別の場所に「値として貼り付け」をしてテーブル機能を解除します。
原因③:最大行数を超えている

D2セルに =SORT(A:A) のように「A列全体を並び替える」という式を入れた場合、データがシートの最終行を突き抜けてしまうためエラーになります。
解決方法:
=SORT(A2:A100)のように、必要なデータ範囲だけを指定します。
スピルを解除する方法
Excel 2021以降の場合

スピルをオフにするボタンなどはないため、スピルを解除したいときは範囲の先頭に@を付けます。
例:=@A2:A4*@B2:B4
📖 スピルを解除して、オートフィルに戻したいとき:
- 先頭のセル(D2)の数式を一度削除し、1行目だけを計算する
=A2 * B2という普通の掛け算を入力し直します。 - D2セルの右下をダブルクリックするか、下までドラッグしてコピーします。
Excel 2019以前の場合

新しいエクセルで「スピル」を使って作られたシートを古いエクセルで開いたときに、数式が {=A2:A4 * B2:B4}のように、中カッコ { } で囲まれた配列数式になります。
配列数式は一部のセルを編集・削除することができないため、結果の範囲全体(例:D2:D4)を選択してからデリートキーで削除します。
📖 操作を間違えて動かなくなったら:
キーボードの左上にある Escape(Esc)キー を押すと、元の状態に戻れます。