So beheben Sie den #SPILL!-Fehler, der durch dynamische Arrays verursacht wird, die über geschützte Zellen hinauslaufen

Der Fehler #SPLL! hat viele Anwender genervt, insbesondere bei der Arbeit mit Formeln wie SORTIEREN, FILTERN oder EINDEUTIG, deren Ergebnisse sich auf mehrere Zellen verteilen. Er tritt meist auf, wenn der Ausgabepfad blockiert ist – beispielsweise durch ein geschütztes Tabellenblatt, verbundene Zellen, Geisterdaten oder sogar, wenn sich die Formel innerhalb einer Excel-Tabelle befindet. Das ist ziemlich ärgerlich, da der Fehler in manchen Fällen beim ersten Mal auftritt, in anderen Fällen aber nur verzögert oder gar nicht. Die Behebung ist nicht immer einfach, aber diese Schritte sollten helfen, die Blockaden zu beseitigen und Ihre Formeln wieder zum Laufen zu bringen.

So beheben Sie den #SPLL!-Fehler in Excel

Lösung 1 – Den gesamten erwarteten Verschüttungsbereich freischalten

Excel kann keine Formeln in Zellen ausführen, deren Tabellenblatt geschützt ist, insbesondere wenn die Zielzellen oder der Zielbereich gesperrt sind. Dies ist häufig die Ursache. Durch das Entsperren aller Zellen, die von der Formel ausgefüllt werden könnten, kann sie frei schreiben – Blockaden gehören der Vergangenheit an.

  • Warum das hilft: Es schaltet alle potenziell überlaufenden Zellen frei, sodass Formeln ohne Fehler ausgeführt werden können.
  • Wann dies zutrifft: Wenn Sie die Fehlermeldung #SPLL! erhalten, insbesondere auf geschützten Blättern oder Bereichen.
  • Was Sie erwarten können: Die Ergebnisse der Formel werden sich von selbst einstellen, sobald alle Zielzellen freigeschaltet sind.

Markieren Sie den Bereich, in dem das Auslaufen stattfinden wird – dies umfasst die Ausgangszelle und den gesamten potenziellen Ausdehnungsbereich.

Klicken Sie anschließend Ctrl+1auf die Schaltfläche „Zellen formatieren“, um das Dialogfeld „Zellen formatieren“ zu öffnen. Wechseln Sie zur Registerkarte „Schutz “ und deaktivieren Sie die Option „Entsperrt “.Vergessen Sie nicht, gegebenenfalls auf „ Überprüfen “ zurückzukehren und den Blattschutz aufzuheben. Nach den Änderungen können Sie das Blatt anschließend wieder schützen.

Hinweis: Falls der Blattschutz aktiviert ist, müssen Sie ihn zuerst deaktivieren. Der Blattschutz ist manchmal passwortgeschützt; beachten Sie dies bitte.

Lösung 2 – Geisterdaten löschen

Manchmal scheinen Zellen leer zu sein, enthalten aber insgeheim ein unsichtbares Zeichen oder eine Formel, die eine leere Zeichenkette ausgibt "". Dies verwirrt Excel, da es fälschlicherweise annimmt, dass sich dort etwas befindet, wodurch das Übertragen des Inhalts verhindert wird.

  • Warum es hilft: Durch das Löschen versteckter oder Geisterdaten werden unsichtbare Hindernisse beseitigt.
  • Wann dies zutrifft: Wenn Ihre Formel nicht angezeigt wird, obwohl die Zellen leer erscheinen.
  • Was zu erwarten ist: Durch das Löschen der Zellen sollte sich das Array normal befüllen lassen.

Wählen Sie zunächst den Bereich aus, in den die Formel überlaufen soll. Schauen Sie sich dann die Bearbeitungsleiste an dort werden möglicherweise ungewöhnliche Zeichen oder unsichtbare Einträge angezeigt. Löschen Sie diese einfach und drücken Sie die Eingabetaste Enter.

In manchen Fällen erscheint beim Überfahren der Zelle mit dem Mauszeiger ein kleines Symbol mit Fehlerdetails. Nutzen Sie dieses Symbol, um die Zelle zu identifizieren, die die Blockierung verursacht. Bei manchen Konfigurationen Deletelöscht ein Klick alle Einträge. Seltsam, aber manchmal behebt dies das Problem mit dem Datenüberlauf.

Lösung 3 – Zusammengeführte Zellen aus dem Überlaufbereich entfernen

Das Zusammenführen von Zellen und dynamischen Arrays verhält sich wie Öl und Wasser. Wenn der Überlaufbereich zusammengeführte Zellen enthält, reagiert Excel nicht und führt keine Überlaufoperationen durch.

  • Warum das hilft: Es stellt sicher, dass der Überlaufbereich ein sauberes rechteckiges Raster bildet, mit dem Excel umgehen kann.
  • Wann dies zutrifft: Wenn der Fehler #SPLL! nur in bestimmten Teilen des Bereichs oder bei verbundenen Zellen angezeigt wird.
  • Was zu erwarten ist: Nach dem Entschlüsseln der Formeln sollten diese korrekt und fehlerfrei ausgegeben werden.

Markieren Sie den Überlaufbereich, wechseln Sie zur Registerkarte „Start “ und klicken Sie auf Zellen verbinden und zentrieren, um die Funktion zu deaktivieren. Gegebenenfalls müssen Sie mehrere Zellen wieder trennen, wenn diese über das gesamte Feld verstreut sind.

Lösung 4 – Formel aus einer Excel-Tabelle auslagern

Dynamische Arrays eignen sich einfach nicht für Tabellen. Excel-Tabellen sind für die Dateneingabe konzipiert, nicht für die Darstellung von Formeln.

  • Warum das hilft: Wenn Rezepturen außerhalb der Tische platziert werden, werden Verschmutzungsbeschränkungen vermieden.
  • Anwendungsfall: Befindet sich Ihre Formel innerhalb einer Tabelle, funktioniert die Überlauffunktion möglicherweise nicht, da Tabellenstrukturen Zellgrenzen erzwingen.
  • Was zu erwarten ist: Nach der Rückumwandlung der Tabelle in einen normalen Bereich sollte das Array normal überlaufen.

Markieren Sie die Tabelle, wechseln Sie zum Tab „Tabellenentwurf“ und klicken Sie auf In Bereich konvertieren. Bestätigen Sie die Eingabeaufforderung und positionieren Sie Ihre Formel außerhalb der Tabelle. Alternativ können Sie sie auch einfach in einen leeren Bereich kopieren, falls das einfacher ist.

Lösung 5 – Verwenden Sie den impliziten Schnittmengenoperator

Wenn Sie lediglich einen einzelnen Wert benötigen – beispielsweise den Wert in einer bestimmten Zeile –, ist es nicht nötig, das Array zu überschreiben. Sie können ein @Symbol vor die Formel setzen, um Excel anzuweisen, nur den Wert der aktuellen Zeile zu verwenden.

  • Warum es hilft: Es verhindert Überlauffehler, indem es nur einen Wert anstelle eines Arrays zurückgibt.
  • Anwendungsfall: Wenn Sie nicht das gesamte Array benötigen, sondern nur die Daten der aktuellen Zeile.
  • Was Sie erwarten können: Die Formel liefert einen einzelnen Wert und vermeidet Überlauffehler.

Ändern Sie beispielsweise =SORT(A1:A10)in =@SORT(A1:A10). Das sieht zwar etwas seltsam aus, ist aber in manchen Tabellenkalkulationen eine schnelle Lösung, um das Überlaufen von vornherein zu vermeiden.