Office(オフィス)付きパソコンなら格安中古のPC STORE

最終更新日:2026年6月19日

Excel活用ガイド

【2026年版】Excelの#SPILL!エラーとは?スピル(動的配列)の正体と、原因別の直し方・@演算子の使い方

Excelで関数を入力したら、突然「#SPILL!」と表示された。壊してしまったのかと焦りますよね。でも、ご安心ください。Excelが壊れたわけではありません。これは「スピル」という便利な新機能に関係するサインで、計算結果が広がろうとした先に、何か邪魔があるときに出ます。この記事では、スピルとは何か、#SPILL!が出る原因と、原因別の直し方、そして意図せず広がるのを止める「@演算子」の使い方を、中立に正直に解説します。専門用語には折りたたみの用語解説をつけました。

  • #SPILL!エラー
  • スピル
  • 動的配列
  • @演算子
IT初心者の七海さん IT初心者の七海さん

Excelで関数を入れたら「#SPILL!」って出ちゃって…。壊しちゃったのかと焦りました。これ何ですか?結果が勝手に下のセルまで広がろうとして、止まっちゃうみたいで。困ってます。

IT上級者の大介先輩 IT上級者の大介先輩

壊れてないよ、安心して。それは「スピル」という、新しい便利な機能だよ。ポイントは3つ。①1つの数式の結果が、複数のセルに自動で広がるしくみ ②広がる先にデータや結合セルがあると、広がれなくて「#SPILL!」が出る ③だから、邪魔を片付けるか、数式に「@」を付けて単一の値にすればOK。エラーというより、「広がれないよ」というお知らせなんだ。順番に説明するね。

この記事でわかること

  • スピルという機能の正体
  • #SPILL!が意味するサイン
  • よくある原因5つ
  • 原因別の直し方
  • @演算子で単一値にする
  • 使えるExcelのバージョン

結論

#SPILL!は「広がれない」サイン。原因を片付けるか、@で単一値にする

まず、安心していただきたいことがあります。「#SPILL!」は、Excelが壊れたわけでも、あなたが何か悪い操作をしたわけでもありません。これは「スピル」という、比較的新しい便利な機能に関係するサインです。スピルとは、1つの数式の結果が、1つのセルだけでなく、隣接する複数のセルに、自動的に広がって(あふれて)表示される機能です。たとえば、並べ替えや絞り込みをする関数を入れると、その結果が、入力したセルを起点に、下や右のセルへと自動で展開されます。これは、手作業でコピーする必要がなく、とても便利な仕組みです。

「#SPILL!」が表示されるのは、この「結果を広げたい先(スピル範囲)」に、何か邪魔があって、広がれないときです。つまり、エラーというより、「広がりたいのに、行く手に障害物があって広がれません」という、お知らせのようなものです。ですから、対処はシンプルで、その障害物を取り除けば、たいてい直ります。いちばん多いのは、広がる先のセルに、すでに別のデータが入っているケースです。また、もし「結果を複数セルに広げず、1つのセルに単一の値だけ表示したい」という場合は、数式の前に「@」を付ける方法もあります。この記事では、原因の見分け方と、原因別の直し方、@の使い方を、順に解説します。

Excelの#SPILL!エラーとスピルの正体を七海が大介に相談している導入漫画
#SPILL!に焦る七海さんに、大介先輩が「スピルは便利な機能・広がる先にデータや結合セルがあると#SPILL!・邪魔を片付けるか@で単一値に」と整理します。

スピルという機能の正体

スピルという機能の正体を初心者向けに七海と大介がわかりやすく案内している様子

まず、#SPILL!の元になっている「スピル」が、どんな機能なのかを知りましょう。これが分かると、なぜ#SPILL!が出るのかも、すっきり理解できます。

「スピル(Spill)」は、英語で「こぼれる・あふれる」という意味です。Excelのスピルとは、1つのセルに入力した数式の結果が、そのセルだけでなく、隣接する複数のセルに、自動的にあふれ出して表示される機能のことです。たとえば、あるセルに、範囲を並べ替える関数や、重複を除いて一覧にする関数を入力すると、その結果(複数の値)が、入力したセルを起点に、下や右のセルへと自動で広がって表示されます。以前のExcelでは、1つの数式は1つのセルに1つの値しか返せず、複数の結果が欲しいときは、数式を手作業でコピーする必要がありました。スピルは、その手間をなくした、便利な仕組みです。

「1つの数式の結果が、複数セルに自動で広がる」

このスピルを支えているのが、「動的配列」という仕組みです。SORT(並べ替え)、UNIQUE(重複の除去)、FILTER(絞り込み)といった関数は、結果として複数の値(配列)を返し、それがスピルして表示されます。何も入力していない隣のセルにも結果が現れるので、最初は驚くかもしれませんが、これは正常な動作です。つまり、スピルは「困った現象」ではなく、「便利な新機能」なのです。Excelの効率化に役立つショートカットは、Excelのショートカットキー活用もあわせてどうぞ。

スピルと動的配列

「スピル(Spill)」は、1つの数式の結果が、隣接する複数のセルに自動的に広がって(あふれて)表示される機能です。英語の「こぼれる・あふれる」が語源です。「動的配列(ダイナミックアレイ)」は、このスピルを実現している、新しい数式の仕組みです。従来、Excelの数式は1つのセルに1つの値を返すのが基本でしたが、動的配列に対応した関数(SORT、UNIQUE、FILTERなど)は、複数の値をまとめた「配列」を結果として返し、それが自動的にスピルして表示されます。結果が表示されたセル範囲を「スピル範囲」と呼びます。元の数式を変更すると、スピル範囲も自動的に変わります。

#SPILL!が意味するサイン

SPILLエラーが意味するサインを大介が七海に説明している様子

スピルが「結果を広げる機能」だと分かれば、#SPILL!の意味も見えてきます。これは、広げたいのに広げられない、というサインです。

「#SPILL!」が表示されるのは、数式が結果をスピル(展開)させようとしたのに、その広がる先(スピル範囲)に、何か障害があって、広がれないときです。Excelは、「ここに結果を広げたいのに、邪魔があってできません」ということを、この#SPILL!で知らせてくれているのです。ですから、これは「故障」や「あなたのミス」ではなく、状況を教えてくれる、親切なサインだと考えるとよいでしょう。広げられない原因さえ取り除けば、結果はきれいにスピルして表示されます。

「エラーではなく、障害物を知らせるお知らせ」

#SPILL!が表示されたセルを選ぶと、たいてい、広がろうとしていた範囲が点線の枠で示され、エラーの内容を確認できるアイコンも出ます。この点線の枠を見ると、「どこに広がろうとして、どこで邪魔されているか」が分かるので、原因を特定する手がかりになります。次の章で、具体的にどんな原因があるのかを見ていきましょう。原因が分かれば、対処は難しくありません。落ち着いて、一つずつ確認していけば大丈夫です。

#SPILL!とスピル範囲

「#SPILL!(スピル)」は、スピルする数式が、結果を広げようとしたのに、広げられないときに表示されるエラー値です。読み方は「スピル」で、英語の「こぼれる・あふれる」に由来します。「スピル範囲」は、スピルする数式が、結果を表示しようとする(広げようとする)セルの範囲のことです。たとえば、5つの結果を返す数式なら、入力セルを起点とした5つ分のセルが、スピル範囲になります。このスピル範囲に、すでに何かが入っていたり、結合セルがあったりすると、結果を広げられず、#SPILL!が表示されます。#SPILL!は、スピル範囲のどこかに障害があることを示すサインです。

よくある原因5つ

SPILLエラーのよくある原因5つを七海と大介が比較しながら整理している様子

#SPILL!が出る原因は、いくつかのパターンに分かれます。代表的なものを5つ、知っておきましょう。自分のケースがどれにあたるか、見当をつけられます。

第一に、最も多いのが、広がる先(スピル範囲)に、すでにデータが入っているケースです。文字や数値はもちろん、見た目では分かりにくい、空白に見えるスペースや、空文字なども、障害物になります。第二に、スピル範囲に「結合セル」が含まれているケース。セルが結合されていると、そこへは結果を広げられません。第三に、Excelの「テーブル」内で、スピルする数式を使ったケース。テーブルの中では、スピルが使えません。第四に、広げようとする範囲が大きすぎるケース(列全体を参照している、非常に大きな配列を作る関数を使っている、など)。第五に、結果のサイズが計算のたびに変わって安定しない、といったケースです。

「最多はデータ・次に結合セルやテーブル」

このうち、圧倒的に多いのが、第一の「広がる先にデータがある」と、第二の「結合セル」です。ですから、#SPILL!が出たら、まずは、結果が広がろうとしている点線の枠の中を見て、「何かデータが入っていないか」「結合セルがないか」を確認するのが、解決への近道です。第三のテーブル内や、第四の範囲が大きすぎるケースは、心当たりがあれば疑ってみましょう。次の章で、それぞれの直し方を見ていきます。データの重複を扱う関数については、Excelの重複削除と集計も参考になります。

結合セルとテーブル

「結合セル」は、複数のセルを1つにまとめて、大きな1つのセルとして扱う機能です。見出しなどでよく使われますが、結合されたセルには、スピルした結果を広げられないため、スピル範囲に結合セルがあると#SPILL!の原因になります。「テーブル」は、Excelの機能で、データの範囲を「テーブル」として書式設定・管理する仕組みです(挿入タブのテーブルなど)。並べ替えや集計が便利になりますが、このテーブルの中では、スピルする数式(動的配列)を使えません。テーブル内でスピルさせたい場合は、テーブルの外のセルで数式を使うか、テーブルを通常の範囲に変換する必要があります。

原因別の直し方

SPILLエラーの原因別の直し方を七海と大介が用途別に案内している様子

原因が分かれば、対処はそれぞれシンプルです。代表的な原因ごとの直し方を見ていきましょう。多くは、邪魔を取り除くだけで解決します。

第一に、広がる先にデータがある場合は、その邪魔しているデータを、別の場所に移動するか、不要なら削除します。点線の枠の中を確認し、入っているデータをどかせば、結果が広がります。見えないスペースが入っていることもあるので、枠内のセルを選んで、中身を消してみてください。第二に、結合セルが原因の場合は、その結合を解除します(セルを選んで「セルを結合して中央揃え」を解除)。第三に、テーブル内で使っている場合は、テーブルの外のセルで数式を使うか、テーブルを通常の範囲に変換します。第四に、範囲が大きすぎる場合は、列全体(例:A:A)ではなく、必要な範囲だけ(例:A1:A100)を指定するなど、範囲を適切に絞ります。

「邪魔を移動・結合を解除・範囲を適切に」

いずれの場合も、ポイントは「結果が広がるためのスペースを、きれいに空けてあげる」ことです。#SPILL!が出たセルを選び、表示される点線の枠と、エラーアイコンの説明を確認すれば、何が邪魔しているかが分かります。それを取り除けば、たいていは解決します。なお、「そもそも結果を複数セルに広げたくない、1つの値だけでいい」という場合は、次の章の@演算子を使う方法もあります。目的に合わせて、使い分けてください。複雑な集計やデータ分析には、Excelのピボットテーブルでデータ分析も役立ちます。

@演算子で単一値にする

@演算子で結果を単一値にする方法を七海と大介が慎重に確認している様子

ここまでは「広がれるようにする」直し方でした。逆に、「広げずに、1つの値だけ表示したい」というときに使えるのが、「@演算子」です。

「@(アットマーク)」は、数式の中で使うと、「暗黙的なインターセクション」という働きをする演算子です。少し難しい名前ですが、やることはシンプルで、数式の前に@を付けると、結果をスピル(複数セルに展開)させず、単一の値だけを返すようになります。たとえば、本来なら複数の結果をスピルする関数でも、「=@関数(...)」のように、関数の前に@を付けると、スピルせず、そのセルに1つの値だけが表示されます。従来のExcel(スピルがなかった頃)の挙動に近づけたい、というときに役立ちます。

「数式の前に@で、スピルさせず1つの値に」

@演算子は、「スピルしてほしくない、1つのセルに1つの値だけでいい」という、明確な意図があるときに使うものです。たとえば、表の各行で、同じ数式を1セルずつ使いたい(行ごとに対応する1つの値が欲しい)ような場合に便利です。ただし、@を付けると、スピルの便利さは使えなくなるので、「複数の結果が欲しいのに、間違って@を付けてしまい、1つしか出ない」とならないよう、目的に合わせて使い分けてください。基本は、スピルを活かして広げ、あえて単一値にしたいときだけ@を使う、と考えるとよいでしょう。関数を組み合わせた応用は、ExcelのLAMBDA・LET関数もどうぞ。

@演算子(暗黙的なインターセクション)

「@演算子(暗黙的なインターセクション)」は、数式の中で使うと、複数の値(配列)の中から、単一の値だけを取り出して返す働きをする演算子です。数式の前に@を付けると、その数式はスピル(複数セルへの展開)をせず、1つのセルに1つの値だけを表示します。たとえば「=@SORT(...)」のように使います。スピルが導入される前のExcelでは、数式はこの「単一の値を返す」動作が基本でした。@演算子は、その従来の動作を、意図的に再現したいときに使います。逆に、スピルの便利さを活かしたい場合は、@を付けず、そのまま数式を使います。目的に応じた使い分けが大切です。

使えるExcelのバージョン

スピルが使えるExcelのバージョンを七海と大介が落ち着いて整理している様子

最後に、知っておきたいのが、バージョンの違いです。スピル(動的配列)は、比較的新しい機能なので、使えるExcelと、使えないExcelがあります。

スピル(動的配列)の機能は、Microsoft 365(旧Office 365)のExcelや、Excel 2021以降で使えます。一方、Excel 2019やそれ以前のバージョンでは、スピルに対応していません。そのため、これらの古いバージョンで、スピルを使ったファイルを開くと、うまく表示されなかったり、エラーになったりすることがあります。逆に言えば、お使いのExcelが2019以前の場合、そもそもスピルの機能が使えないため、#SPILL!の話自体が当てはまらない、ということになります。自分のExcelがどのバージョンか、確認しておくとよいでしょう。

「365・2021以降で利用・2019以前は非対応」

もし、職場や取引先と、Excelファイルをやり取りする場合は、相手のExcelのバージョンにも注意が必要です。自分がスピルを使って作ったファイルを、相手が古いバージョンで開くと、意図どおりに表示されないことがあります。共有する相手の環境が古い可能性があるなら、スピルに頼らない作り方にする、といった配慮も、ときには必要です。なお、無料のExcel for the web(Web版Excel)でも、スピルは利用できます。新しい関数を活用したい場合は、対応するバージョンのExcelが使える環境を整えるのも一つです。Officeを快適に使えるパソコンは、Office搭載モデルからも探せます。

Microsoft 365とExcelのバージョン

「Microsoft 365(旧Office 365)」は、月額・年額で利用する、サブスクリプション型のOfficeです。常に最新の機能が使え、スピル(動的配列)などの新機能も利用できます。「Excel 2021」などは、買い切り型のOfficeに含まれるExcelのバージョンで、2021以降は、スピルに対応しています。一方、「Excel 2019」やそれ以前は、スピルに対応していません。そのため、スピルを使ったファイルを古いバージョンで開くと、正しく表示されないことがあります。自分や、ファイルを共有する相手のExcelが、どのバージョンかを把握しておくと、こうした互換性のトラブルを避けやすくなります。

よくある質問

Excelの#SPILL!エラーに関するよくある質問を七海が確認し大介が答えている様子
#SPILL!は、故障やミスですか?

いいえ、どちらでもありません。#SPILL!は、Excelの「スピル」という機能が、計算結果を複数のセルに広げようとしたときに、広げる先に障害があって広げられない、ということを知らせるサインです。Excelの故障でも、あなたの操作ミスでもなく、状況を教えてくれているだけです。広げる先にあるデータや結合セルなどの障害を取り除けば、結果はきれいに表示されます。エラーという言葉に驚くかもしれませんが、「広がれないよ」というお知らせだと捉えて、落ち着いて原因を確認すれば大丈夫です。

#SPILL!が出たら、まず何を確認しますか?

結果が広がろうとしている範囲を確認しましょう。#SPILL!が出たセルを選ぶと、結果が広がろうとしている範囲が、点線の枠で表示されます。まずは、この枠の中に、何かデータ(文字・数値・スペースなど)が入っていないか、結合セルがないかを確認してください。いちばん多い原因は、この「広がる先にデータがある」ことです。邪魔しているものを移動するか削除すれば、たいてい解決します。表示されるエラーアイコンをクリックすると、原因のヒントが出ることもあるので、あわせて確認するとよいでしょう。

結果を1つのセルだけに表示したいです。

数式の前に「@」を付ける方法があります。本来スピルする数式でも、「=@関数(...)」のように、関数の前に@(アットマーク)を付けると、結果を複数セルに広げず、そのセルに単一の値だけを表示できます。これは「暗黙的なインターセクション」という機能で、従来のExcelの動作に近づけたいときに使います。たとえば、表の各行で、対応する1つの値だけが欲しい、といった場合に便利です。ただし、@を付けるとスピルの便利さは使えなくなるので、複数の結果が欲しいときは付けない、と使い分けてください。

古いExcelでも、スピルは使えますか?

いいえ、使えるバージョンが限られます。スピル(動的配列)は、Microsoft 365のExcelや、Excel 2021以降で使える機能です。Excel 2019やそれ以前では、スピルに対応していません。そのため、スピルを使ったファイルを古いバージョンで開くと、正しく表示されなかったり、エラーになったりすることがあります。職場や取引先とファイルを共有する場合は、相手のバージョンにも注意しましょう。なお、無料のExcel for the web(Web版)でも、スピルは利用できます。

テーブルの中で関数を使うと#SPILL!が出ます。

テーブル内では、スピルが使えないためです。Excelの「テーブル」機能を使っている範囲の中では、スピルする数式(動的配列)を使えません。そのため、テーブル内でSORTやUNIQUEなどのスピルする関数を使うと、#SPILL!が出ます。対処としては、テーブルの外のセルで、その数式を使うか、テーブルを通常のセル範囲に変換(テーブルツールの「範囲に変換」)してから使う、という方法があります。テーブルの便利さと、スピルの便利さは、使う場所を分けて、両立させるとよいでしょう。

まとめ

Excelの#SPILL!エラーとスピルの正体を整理してわかりやすく案内している様子の七海と大介

Excelの「#SPILL!」は、故障でもミスでもなく、「スピル」という便利な機能に関係するサインです。スピルは、1つの数式の結果が、隣接する複数のセルに自動で広がって表示される機能で、SORTやUNIQUE、FILTERといった関数で使われます。#SPILL!が出るのは、その結果を広げたい先(スピル範囲)に、何か障害があって広げられないときです。つまり、「広がれないよ」というお知らせなので、その障害を取り除けば、たいてい解決します。

よくある原因は、広がる先にデータがある(最多)、結合セルがある、テーブル内で使っている、範囲が大きすぎる、などです。対処は、邪魔しているデータを移動・削除する、結合を解除する、テーブルの外で使う、範囲を必要な分だけに絞る、といった具合に、原因に合わせて行います。一方、「結果を広げず、1つの値だけ表示したい」ときは、数式の前に「@」を付けると、スピルさせず単一の値を返せます。なお、スピルは、Microsoft 365やExcel 2021以降で使える機能で、2019以前では使えないため、ファイルを共有する相手のバージョンにも注意しましょう。スピルの仕組みを理解すれば、#SPILL!は怖いものではなく、上手に付き合える便利な機能です。

Officeを快適に使う一台を

Office搭載の中古パソコンをPC STOREで

ExcelやWordも快適に使える、Office搭載・保証つきの中古パソコン。用途とご予算に合う一台を選べます。

次に見る商品・関連記事

PC STOREのバナー

パソコン購入のためのお役立ち情報

パソコン選びがよく分からない方、ご不安のある方、悩む前に!お気軽にご相談ください!

専門スタッフが、性能・ご予算・お好みなどご希望に合ったパソコンをお探しします!

PC STOREへ