#SPILL エラーは、数式が複数の結果を返し、Excel がグリッドに結果を返すことができない場合に返されます。 これらのエラーの種類の詳細については、次のヘルプ トピックを参照してください。
このエラーは、スピルされた配列数式のスピル範囲が空白でない場合に発生します。
数式を選択すると、意図したスピル範囲を示す破線の境界線が表示されます。 数式を選択すると、エラー チェック アラートが表示されます。
エラー チェック アラートを選択し、[ 妨げセルの選択] オプションを選択 して、妨げているセルをすぐに移動します。 その後、エラーをクリアするには、妨げているセルのエントリを削除するか、移動します。 障害物がクリアされるとすぐに、配列の数式は意図したとおりにこぼされます。
Excel は揮発性であり、計算パス間でサイズが変更されるため、スピルされた配列のサイズを判断できませんでした。 たとえば、次の数式によってこの #SPILL がトリガーされます。 エラーを返します。
=SEQUENCE(RANDBETWEEN(1,1000))
動的配列のサイズ変更により、スプレッドシートが完全に計算されるように、追加の計算パスがトリガーされる場合があります。 これらの追加のパス中に配列のサイズが変更され続け、安定しない場合、Excel は動的配列を #SPILL! として解決します。
このエラー値は一般に、RAND、 RANDARRAY、および RANDBETWEEN 関数の使用に関連付けられています。 OFFSET、INDIRECT、TODAY などの他の揮発性関数は、計算パスごとに異なる値を返すわけではありません。
たとえば、次の例のようにセル E2 に配置した場合、数式 =VLOOKUP(A:A,A:C,2,FALSE) は、以前はセル A2 の ID のみを参照していました。 ただし、動的配列 Excel では、数式によって #SPILL が発生します。 Excel は列全体を検索し、1,048,576 件の結果を返し、Excel グリッドの末尾にヒットするため、エラーです。
この問題を解決するには、次の 3 つの簡単な方法があります。
# |
方法 |
数式 |
---|---|---|
1 |
関心のある参照値のみを参照します。 このスタイルの数式は動的配列を返しますが、Excel テーブルでは機能しません。
|
=VLOOKUP(A2:A7,A:C,2,FALSE) |
2 |
同じ行の値だけを参照し、数式を下にコピーします。 この従来の数式スタイルはテーブルで動作しますが、動的配列は返されません。
|
=VLOOKUP(A2,A:C,2,FALSE) |
3 |
@演算子を使用して暗黙的な積集合を実行し、数式を下にコピーすることを Excel に要求します。 このスタイルの数式はテーブルで機能しますが、動的配列は返されません。
|
=VLOOKUP(@A:A,A:C,2,FALSE) |
Excel テーブルでは、スピルされた配列数式はサポートされていません。 数式をテーブルから移動するか、テーブルを範囲に変換してみてください ([テーブル デザイン] > [ツール] >[範囲に変換] を選択します)。
入力しようとしているスピルされた配列の数式によって、Excel のメモリ不足が発生しました。 小さい配列または範囲を参照してみてください。
スピルされた配列数式は、マージされたセルにスピルできません。 対象 のセルの結合を解除 するか、結合されたセルと交差しない別の範囲に数式を移動してください。
数式を選択すると、意図したスピル範囲を示す破線の境界線が表示されます。 数式を選択すると、エラー チェック アラートが表示されます。
エラー チェック アラートを選択し、[ 妨げセルの選択] オプションを選択 して、妨げているセルをすぐに移動できます。 マージされたセルがクリアされるとすぐに、配列数式は意図したとおりにスピルします。
Excel が認識しないか、このエラーの原因を調整できません。 数式にシナリオに必要なすべての引数が含まれていることを確認してください。
補足説明
関連項目
Excel Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。