入力しようとしている、こぼれた配列数式がワークシートの範囲を超えています。 範囲または配列を小さくしてもう一度やり直してください。

次の例では、数式をセル F1 に移動するとエラーが解決され、数式は正しくスピルされます。

Excel での #SPILL! セル F2 で = SORT (d: d) というエラーが表示されると、ブックの端を超えてしまいます。 セル F1 に移動すると、適切に動作します。

一般的な原因: フル列参照

VLOOKUPの数式を作成する方法については、 lookup_value引数を指定してください。 動的な配列機能を備えた excel では、excel では、数式と同じ行の値が考慮され、その他の値は無視されます。 VLOOKUP では1つの値のみが想定されます。 動的な配列の導入により、lookup_value に提供されるすべての値が Excel で考慮されます。 つまり、列全体が lookup_value 引数として指定されている場合、Excel は列内のすべての1048576値を参照しようとします。 操作が完了すると、グリッドにスピルされ、グリッドの終わりに達する可能性が高いため、#SPILL になります。 エラーが表示されます。  

たとえば、次の例のようにセル E2 に配置した場合、数式 = VLOOKUP (2、2、FALSE) は、以前はセル A2 で ID を検索したことになります。 ただし、動的配列 Excel では、数式によって #SPILL が発生します。 エラーが発生したため、Excel は列全体を参照し、1048576の結果を返し、Excel grid の末尾に達します。

Excel での #SPILL! セル E2 で = VLOOKUP (a: a, 2, FALSE) で発生したエラーは、ワークシートの端を超えて処理されるためです。 数式をセル E1 に移動すると、適切に動作します。

この問題を解決するには、3つの簡単な方法があります。

#

方法

数式

1

目的の検索値だけを参照します。 このスタイルの数式では、動的配列が返されますが、 Excel テーブルでは動作しません。 

= VLOOKUP (A2: A7, 2, 2, FALSE) を使用して、#SPILL になりません。動的な配列を返します。 エラーが表示されます。

= VLOOKUP (A2: A7, 2, 2, FALSE)

2

同じ行の値のみを参照してから、数式を下にコピーします。 この従来の数式スタイルは内では動作しますが、動的配列は返されません

従来の VLOOKUP では、単一の lookup_value 参照を使用します。 = VLOOKUP (A2, a: C, 32, FALSE) この数式では動的配列は返されませんが、Excel テーブルと共に使用できます。

= VLOOKUP (A2, 2, 2, FALSE)

3

Excel に @ 演算子を使用して暗黙的な交差を実行し、次に数式をコピーするように依頼します。 このスタイルの数式はテーブルで動作しますが、動的配列は返されません

@ 演算子とコピーダウン: = VLOOKUP (@A: A, 2, 2, FALSE) を使用します。 このスタイルの参照はテーブルで動作しますが、動的配列は返されません。

= VLOOKUP (@A: A, 式 C, 2, FALSE)

補足説明

Excel Tech Community では、いつでも専門家に質問できます。Microsoft コミュニティでは、サポートを受けられます。また、Excel User Voice では、新機能についての提案や改善案を送信することができます。

関連項目

FILTER 関数

RANDARRAY 関数

SEQUENCE 関数

SORT 関数

SORTBY 関数

UNIQUE 関数

Excel での #SPILL! エラー

動的配列とスピル配列の動作

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

ヘルプを表示

スキルを磨く
トレーニングの探索
新機能を最初に入手
Microsoft Insider に参加する

この情報は役に立ちましたか?

翻訳品質にどの程度満足していますか?
どのような要因がお客様の操作性に影響しましたか?

フィードバックをお送りいただきありがとうございます!

×