【Excel】#SPILL!が出る時の確認順|展開先・テーブル・結合セル

【Excel】#SPILL!が出る時の確認順|展開先・テーブル・結合セル
🛡️ 超解決

#SPILL!が表示されたら、数式セルのエラーメニューで理由を確認します。結果を展開する場所がふさがっている場合と、結果の大きさを確定できない場合では対処が違います。

青い枠が見えるだけなら、正常なスピル範囲の表示の場合もあります。範囲内を一括削除する前に、エラーの有無と障害になるセルを確認してください。

ADVERTISEMENT

1. 対応するExcelとエラー理由を確認する

動的配列はMicrosoft 365やExcel 2021・2024などで使えます。Excel 2019以降ならすべて同じように使える、とは扱わないでください。関数自体の対応版も確認します。

数式セルを選び、エラーの説明を開きます。「スピル範囲が空白ではありません」など、示された理由に合わせて確認します。枠線を消すことだけを目的に式を変えないようにします。

※ お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

2. 妨げになるセルだけを確認する

  1. #SPILL!のセルを選び、展開予定の範囲を見ます。
  2. エラーメニューに障害となるセルを選択する項目があれば使います。
  3. 数式バーで値、スペース、空文字を返す数式などを確認します。
  4. 必要な内容なら移動するか、スピル数式を空いた場所へ移します。
  5. 不要と確認した内容だけを消します。

数式を入力した起点セルまでまとめて消さないでください。結合セルが含まれる場合も、帳票の構造を確認してから解除または配置変更を行います。

B2から10、20、30を展開したいがB4の注記が妨げになる。注記を別の場所へ移すとB2からB4へ結果が入る
展開先に必要な注記がある例です。範囲全体を消さず、注記か数式の場所を変えます。

3. テーブルの外へ結果を出す

Excelテーブルの中では、スピルする配列数式を置けません。テーブルを参照元として残し、結果を通常のセル範囲へ出す方法を先に検討します。

たとえばテーブルの列をUNIQUEで参照し、一覧をテーブルの右側へ出せます。テーブルを範囲へ変換すると、自動拡張などの機能にも影響するため、エラーを消すためだけに変換しないでください。

4. 範囲の大きさとシートの端を確認する

列全体を返す式を途中の行へ置くと、結果がシートの下端を越えることがあります。必要な行だけへ参照範囲を絞ります。

揮発性の乱数などで配列の大きさが再計算ごとに変わり、確定できない場合もあります。結果の行数を決める部分を確認し、必要なら固定した入力値を使います。既存セルの削除だけでは、この原因は解消しません。

5. @は欲しい結果を確認してから使う

@は暗黙的な共通部分を求める演算子で、配列の結果を1つへ絞る場合があります。同じ行・列との交点、配列の左上など、対象によって選ばれる値は異なります。

一覧が欲しい式へ機械的に@を付けると、必要な結果を失います。1件だけが目的なら、参照するセルを明示する方法も含めて式を見直します。

6. 展開後の参照を確認する

A1から正常にスピルしている範囲を参照する場合、A1#を使えます。たとえば数値配列の合計は=SUM(A1#)です。起点が別のセルなら、そのセル番地を使います。

展開先の将来の増加分も確保し、下や右へ固定の注記を置かないようにします。元データを増減させて、結果と参照先が意図どおり変わるか確認してください。

7. エラーが消えた後に件数を照合する

空白に見える範囲を消した場合は、必要な情報を失っていないか確認します。@や参照範囲を変えた場合は、結果の件数と内容を元データへ照合します。

原因別の説明はMicrosoftの#SPILL!エラーの修正を参照できます。エラーが消えただけで、元の目的を満たしたと判断しないことが大切です。

📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。
この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】