Der Operator für implizite Schnittmengen wurde im Rahmen eines grundlegenden Upgrades der Excel-Formelsprache eingeführt, um dynamische Arrays zu unterstützen. Dynamische Arrays ermöglichen wesentliche neue Berechnungsfunktionen in Excel.
Aktualisierte Formelsprache
Die aktualisierte Formelsprache von Excel ist mit der alten Sprache fast identisch, mit dem Ausnahme, dass der @-Operator verwendet wird, um anzugeben, wo die implizite Schnittmenge auftreten könnte, wohingegen dies bei der alten Sprache im Hintergrund erfolgte. Daher kann es sein, dass @-Zeichen in einigen Formeln vorkommen, wenn diese in einem dynamischen Array von Excel geöffnet werden. Es ist wichtig zu beachten, dass Formeln weiterhin auf die gleiche Weise berechnet werden wie zuvor.
Was sind implizite Schnittmengen?
Die implizite Schnittmengenlogik reduziert viele Werte auf einen einzelnen Wert. In Excel erfolgte dies, um eine Formel zur Rückgabe eines einzelnen Werts zu zwingen, da eine Zelle nur einen einzelnen Wert enthalten konnte. Wenn die Formel einen einzelnen Wert zurückgab, hat die implizite Schnittmenge nichts getan (obwohl sie technisch gesehen im Hintergrund ausgeführt wurde). Die Logik funktioniert folgendermaßen:
-
Wenn es sich bei einem Wert um ein einzelnes Element handelt, wird das Element zurückgegeben.
-
Wenn es sich bei dem Wert um einen Bereich handelt, wird der Wert aus der Zelle in derselben Zeile oder Spalte wie die Formel zurückgegeben.
-
Wenn es sich bei dem Wert um ein Array handelt, wird der Wert oben links ausgewählt.
Mit der Einführung dynamischer Arrays ist Excel nicht mehr auf die Rückgabe einzelner Werte aus Formeln beschränkt, und somit ist die implizite Schnittmenge im Hintergrund nicht mehr erforderlich. Wo eine alte Formel implizite Schnittmengen im Hintergrund auslösen könnte, zeigt Excel an, wo sie mit dem @-Zeichen aufgetreten wäre.
Warum das @-Symbol?
Das @-Symbol wird bereits in Tabellenverweisen verwendet, um implizite Schnittmengen anzugeben. Beachten Sie die folgende Formel in einer Tabelle =[@Spalte1]. Hier gibt das @-Zeichen an, dass die Formel die implizite Schnittmenge verwenden soll, um den Wert aus derselben Zeile aus [Spalte1] abzurufen.
Kann man das @-Zeichen entfernen?
Häufig ist dies möglich. Es hängt davon ab, was vom Teil der Formel rechts vom @-Zeichen zurückgegeben wird:
-
Wenn ein einzelner Wert zurückgegeben wird (der häufigste Fall), bewirkt das Entfernen des @-Zeichens keine Änderung.
-
Wenn ein Bereich oder ein Array zurückgegeben wird, bewirkt das Entfernen des @-Zeichens dessen Überlauf in die benachbarten Zellen.
Wenn Sie ein automatisch hinzugefügtes @ entfernen und die Arbeitsmappe später in einer älteren Version von Excel öffnen, wird es als veraltete Arrayformel (in geschweiften Klammern {}) angezeigt. Dadurch wird sichergestellt, dass die ältere Version keine implizite Schnittmenge auslöst.
Wann wird das @-Zeichen zu alten Formeln hinzugefügt?
Im Allgemeinen wird Funktionen, die Mehrfachzellbereiche oder Arrays zurückgeben, ein "@" vorangestellt, wenn sie in einer älteren Excel-Version erstellt wurden. Es ist wichtig zu beachten, dass es keine Änderung am Verhalten von Formeln gibt – die zuvor unsichtbare implizite Schnittmenge ist jetzt einfach sichtbar. Häufig verwendete Funktionen, die Mehrfachzellbereiche zurückgeben könnten, sind INDEX, BEREICH.VERSCHIEBEN und benutzerdefinierte Funktionen (User Defined Functions, UDFs). Eine häufige Ausnahme ist, wenn sie in einer Funktion enthalten sind, die ein Array oder einen Bereich akzeptiert (z. B. SUMME() oder MITTELWERT()).
Weitere Informationen finden Sie unter Excel-Funktionen, die Bereiche oder Arrays zurückgeben.
Beispiele
Ursprüngliche Formel |
Wie in einem dynamischen Array von Excel |
Erläuterung |
---|---|---|
=SUMME(A1:A10) |
=SUMME(A1:A10) |
Keine Änderung: Es könnte keine implizite Schnittmenge auftreten, da die SUMME-Funktion Bereiche oder Arrays erwartet. |
=A1+A2 |
=A1+A2 |
Keine Änderung: Es könnte keine implizite Schnittmenge auftreten. |
=A1:A10 |
=@A1:A10 |
Eine implizite Schnittmenge wird vorkommen, und Excel gibt den Wert zurück, der der Zeile zugeordnet ist, in der sich die Formel befindet. |
=INDEX(A1:A10,B1) |
=@INDEX(A1:A10,B1) |
Es kann eine implizite Schnittmenge auftreten. Die INDEX-Funktion kann ein Array oder einen Bereich zurückgeben, wenn das zweite oder dritte Argument "0" ist. |
=OFFSET(A1:A2,1,1) |
=@OFFSET(A1:A2,1,1) |
Es kann eine implizite Schnittmenge auftreten. Die BEREICH.VERSCHIEBEN-Funktion kann einen Mehrfachzellbereich zurückgeben. In diesem Falls würde die implizite Schnittmenge ausgelöst. |
=MYUDF() |
=@MYUDF() |
Es kann eine implizite Schnittmenge auftreten. Benutzerdefinierte Funktionen können Arrays zurückgeben. In diesem Fall wäre die implizite Schnittmenge von der ursprünglichen Formel ausgelöst worden. |
Verwenden des @-Operators in neuen Formeln
Wenn Sie eine Formel in Excel mit aktivierten dynamischen Arrays erstellen oder bearbeiten, die den @-Operator enthält, wird sie in Excel-Versionen ohne dynamische Arrays möglicherweise als _xlfn.SINGLE() angezeigt.
Dies tritt auf, wenn Sie eine gemischte Formel festlegen. Eine gemischte Formel ist eine Formel, die sowohl auf Arrayberechnung als auch auf impliziter Schnittmenge basiert. Dies wurde von Excel vor der Einführung dynamischer Arrays nicht unterstützt. Solche Versionen unterstützen nur Formeln, die i) implizite Schnittmenge oder ii) Array durchgehend berechnet haben.
Wenn eine Excel-Version mit Möglichkeit dynamischer Arrays die Erstellung einer "gemischten Formel" erkennt, schlägt es eine Variation der Formel mit durchgehender impliziter Schnittmenge vor. Wenn Sie z. B. =A1:A10+@A1:A10 eingeben, wird das folgende Dialogfenster angezeigt:
Wenn Sie die vom Dialogfenster vorgeschlagene Formel ablehnen, wird die gemischte Formel =A1:A10+@A1:A10 angewendet. Wenn Sie diese Formel später in einer Excel-Version mit Möglichkeit dynamischer Arrays öffnen, wird sie als +=A1:A10+_xlfn.SINGLE(A1:A10) angezeigt, wobei das @-Zeichen in der gemischten Formel als _xlfn.SINGLE() aufscheint. Wenn diese Formel von einer Excel-Version mit Möglichkeit dynamischer Arrays ausgewertet wird, wird ein #NAME!- Fehlerwert.
Benötigen Sie weitere Hilfe?
Sie können jederzeit einen Experten in der Excel Tech Community fragen oder Unterstützung in den Communities erhalten.