#SPLL! エラーは多くのユーザーを悩ませてきました。特に、SORT、FILTER、UNIQUE などの数式を複数のセルに分割して計算を行う際に顕著です。このエラーは、計算パスに何らかの障害がある場合に発生します。保護されたシート、結合されたセル、ゴーストデータ、あるいは数式が Excel テーブル内にある場合などです。設定によっては、最初にエラーが発生しても、その後、処理が遅くなったり、全く計算が進まなかったりするため、非常に厄介です。このエラーの修正は必ずしも簡単ではありませんが、以下の手順で障害を解消し、数式が再びスムーズに計算できるようになるはずです。
Excelで#SPLL!エラーを修正する方法
修正1 – 流出予想範囲全体のロックを解除する
Excelシートが保護されている場合、特に対象のセルまたは範囲がロックされている場合、セルへの入力はできません。これが根本的な原因となることがよくあります。数式が入力可能なすべてのセルのロックを解除すれば、自由に入力できるようになり、ブロックされることはありません。
- 役立つ理由:すべての潜在的な流出セルのロックを解除し、エラーをスローせずに数式を入力できるようにします。
- 適用される場合:特に保護されたシートまたは範囲で #SPLL! エラーが発生する場合。
- 期待される結果:すべてのターゲット セルのロックが解除されると、数式の結果が自然に出力され始めます。
流出が発生する範囲を強調表示します。これには、開始セルと潜在的な拡張領域全体が含まれます。
次に、 を押してCtrl+1「セルの書式設定」ダイアログを開きます。「保護」タブに移動し、「ロック解除」のチェックを外します。必要に応じて「校閲」に戻り、「シートの保護を解除」し、変更を加えた後は再度保護することを忘れないでください。
注: シートの保護がオンになっている場合は、この操作を行う前にまず保護を解除する必要があります。シートの保護にはパスワードが設定されている場合もあるので、ご注意ください。
修正2 – ゴーストデータを消去する
セルが空に見えても、実際には目に見えない文字や、空文字列を出力する数式が含まれていることがあります""。Excelはそこに何かがあると思い込み、セルの中身が空のままになるのを防いでしまいます。
- 役立つ理由:非表示のデータやゴースト データを消去すると、目に見えない障害物が除去されます。
- 適用される場合:セルが空白に見えても、数式が溢れ出ない場合。
- 期待される結果:セルをクリアすると、配列に正常にデータが入力されるようになります。
まず、数式をはみ出させる範囲を選択します。次に、数式バーを見てください。おかしな文字や見えない文字が表示されているかもしれません。表示されているものはすべて削除して、 を押してくださいEnter。
場合によっては、セルにマウスオーバーすると、エラーの詳細を示す小さなアイコンが表示されることがあります。これを使って、ブロックの原因となっているセルを正確に特定してください。設定によっては、押すとDeleteすべてクリアされることもあります。奇妙ですが、これでデータ流出の問題が解決することがあります。
修正3 – スピル領域から結合セルを削除する
結合セルと動的配列は水と油のようなものです。出力範囲に結合セルが含まれている場合、Excelはエラーを起こして出力を行いません。
- 役立つ理由:スピル範囲が Excel で処理できるきれいな長方形グリッドであることを確認します。
- 適用される場合:範囲内の特定の部分にのみ #SPLL! エラーが表示される場合、または結合されたセルが表示されている場合。
- 期待される結果:結合解除後、数式はエラーなく正しく出力されるはずです。
スピルゾーンをハイライトし、「ホーム」タブに移動して「セルを結合して中央揃え」をクリックしてオフにします。複数のセルがあちこちに散らばっている場合は、結合を解除する必要があるかもしれません。
修正4 – Excelの表から数式を移動する
通常の動的配列はテーブル内に配置するのが適切ではありません。Excelのテーブルはデータ入力用に構造化されており、数式を流し込むためのものではありません。
- 役立つ理由:数式をテーブル外に移動すると、スピル制限が回避されます。
- 適用される場合:数式がテーブル内にある場合、テーブル構造によってセルの境界が強制されるため、スピルが機能しない可能性があります。
- 期待される結果:テーブルを通常の範囲に戻すと、配列は正常にスピルされるはずです。
表を選択し、「テーブルデザイン」タブに移動して「範囲に変換」をクリックします。プロンプトを確認し、数式を表の外側に移動します。または、より簡単な方法として、空白の場所にコピーすることもできます。
修正5 – 暗黙の交差演算子を使用する
特定の行の値など、本当に必要な値が1つだけであれば、配列をスピルする必要はありません。@数式の前に記号を付けることで、Excelに現在の行に関連する値のみを取得するように指示できます。
- 役立つ理由:配列ではなく 1 つの値だけを返すことで、スピル エラーを防止します。
- 適用される場合:完全な配列結果ではなく、現在の行のデータのみが必要な場合。
- 期待される結果:数式は単一の値を返し、スピル エラーを回避します。
たとえば、=SORT(A1:A10)に変更します=@SORT(A1:A10)。見た目は少し奇妙ですが、一部のスプレッドシートでは、こぼれを完全に防ぐための簡単な修正方法です。