エクセルの「SPILL」とは?エラーの解除方法

エクセルのスピルの使い方

今回はエクセルで1つの数式で複数のセルに値を出力できる、SPILL機能の動作や使い方についてご紹介します。SPILLエラーの解決方法や、SPILLを解除する方法についても解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

エクセルのSPILL機能の使い方

SPILLの意味や、知っておくと便利なスピル範囲演算子についてご紹介します。数式や参照範囲を修正するときに便利な機能です。

SPILLとは?

エクセルのスピルとは?

スピルとは数式によって複数の値を生成し、その値を隣接する行や列に表示させる機能です。

例えば配列同士の乗算(A1:A5*C1:C5)をE1セルに入力してみましょう。すると数式を入力したのはE1セルだけですが、5行分の値が表示されました。

スピル領域は最初のセルだけが編集可能です。他のセルを選択すると数式バーにグレーで数式が表示されますが、これらの「ゴースト化」された数式は編集できません。

スピル範囲演算子とは?

エクセルのスピル範囲演算子とは?

スピル範囲演算子(#)は配列関数を処理する場合、スピル範囲を自動的に反映して参照してくれます。

配置場所は、処理対象の範囲の終点部分です。例えばSUM(E1#)のように処理範囲を指定すると、E1セルから配列関数の終点行を自動で反映して合計します。

エクセルのスピル範囲演算子とは?

参照元の配列に値を1行ずつ追加し、配列数式を(A1*A6*C1:C6)に変更してみてください。

スピル範囲演算子を配置した関数SUM(E1#)は、追加された範囲を自動で反映して計算します。

スピル領域に含まれているセルには、範囲を囲む境界線が表示されます。 領域外のセルを選択すると、境界線は消えます。

スポンサーリンク

SPILLエラーを解消する方法

エクセルで「#SPILL!」エラーが表示される、よくある3つの原因と解決方法について解説します。またスピルの参照範囲を広く取りすぎると、重くなったりメモリ不足の原因にもなります。

スピル範囲にデータが入力されている

#SPILL!エラーの解決方法

数式の出力範囲(スピル範囲)が空白でない場合、エラーになります。

破線の境界線内に含まれるデータは削除するか、移動しましょう。見た目上セルが空白に見えても、数式が入力されている可能性があります。

テーブルを使用している

エクセルの#SPILL!エラーの解決方法

エクセルでは、テーブル内でスピル機能を使用できません。

数式をテーブルから移動するか、テーブルを解除しましょう。 テーブルは「テーブルデザイン」タブの「範囲に変換」をクリックすると解除できます。

最大行数または列数を超えている

エクセルの#SPILL!エラーの解決方法

数式の出力範囲(スピル範囲)がグリッドの末尾を超えている場合、エラーになります。

例えば5行しかないエクセルシートがあるとしましょう。C2セルにSORT(A:A)を入力すると、4行目までしか出力できないのが原因です。

スポンサーリンク

SPILLを解除する方法

エクセルのSPILL解除方法

範囲や配列の前に暗黙的な交差演算子「@」を配置すると、SPILLを解除可能です。例えば範囲(A1:A3)の前に「@」を配置すると、数式と同じ行のセルから値「1」を返します。

  • 値が 1 つの項目の場合は、項目を返します。
  • 値が範囲の場合は、数式と同じ行または列のセルから値を返します。
  • 値が配列の場合は、左上の値を選択します。
エクセルのSPILL解除方法

数式の場合は範囲の前か、配列数式の前に「@」を配置します。

結果は同じですが前者は「2*1」、後者は乗算後の配列{2,3,6}から2を返しています。

タイトルとURLをコピーしました