Impliziter Schnittmengen-Operator: @

Gilt für
Excel für Microsoft 365 Excel für Microsoft 365 für Mac Excel 2024 Excel 2021

Microsoft führte den Operator für implizite Schnittmengen im Rahmen eines grundlegenden Upgrades der Excel-Formelsprache ein, 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 Sie diese in einem dynamischen Array von Excel öffnen. Ihre Formeln werden weiterhin auf die gleiche Weise berechnet wie bisher.  

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, geben Sie das Element zurück.
  • 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. Betrachten Sie die folgende Formel in einer Tabelle =[@Column1]. Das @-Zeichen gibt an, dass die Formel die implizite Schnittmenge verwendet, 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), ändert sich nichts, wenn Sie das @-Zeichen entfernen.
  • Wenn ein Bereich oder eine Matrix zurückgegeben wird, führt das Entfernen des @-Zeichens dazu, dass es auf die benachbarten Zellen überläuft .

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 {}eingeschlossen) angezeigt. Dieses Verhalten stellt sicher, dass die ältere Version keine implizite Schnittmenge auslöst.

Wann wird das @-Zeichen zu alten Formeln hinzugefügt?

Im Allgemeinen weisen Funktionen, die Mehrfachzellbereiche oder Arrays zurückgeben, ein @-Präfix auf, wenn Sie sie in einer älteren Excel-Version erstellt haben. Am Verhalten von Formeln gibt es keine Änderung – die zuvor unsichtbare implizite Schnittmenge ist jetzt einfach sichtbar. Häufig verwendete Funktionen, die Mehrfachzellbereiche zurückgeben, 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 kann keine implizite Schnittmenge auftreten, da die SUMME-Funktion Bereiche oder Arrays erwartet.
=A1+A2 =A1+A2 Keine Änderung: Es kann keine implizite Schnittmenge auftreten.
=A1:A10 =@A1:A10 Eine implizite Schnittmenge tritt auf, 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. Wenn dies der Fall ist, wird die implizite Schnittmenge ausgelöst.
=MYUDF() =@MYUDF() Es kann eine implizite Schnittmenge auftreten. Create Custom Functions in Excel kann Arrays zurückgeben. In diesem Falls löst die ursprüngliche Formel die implizite Schnittmenge aus.

Verwenden des @-Operators in neuen Formeln

Wenn Sie eine Formel in einem dynamischen Array in Excel erstellen oder bearbeiten, die den @-Operator enthält, wird sie möglicherweise als _xlfn angezeigt. SINGLE() in Excel mit Möglichkeit dynamischer Arrays.

Dieses Verhalten tritt auf, wenn Sie eine gemischte Formel festlegen. Eine gemischte Formel ist eine Formel, die sowohl auf Arrayberechnung als auch auf impliziter Schnittmenge basiert. Diese Kombination wird von Excel vor dynamischem Array nicht unterstützt. Prädynamische Arrays in Excel unterstützt nur Formeln, die i) implizite Schnittmenge oder ii) Array durchgehend berechnen.

Wenn eine Excel-Version mit Möglichkeit dynamischer Arrays die Erstellung einer gemischten Formel erkennt, schlägt es eine Variation der Formel vor, die durchgehend implizite Schnittmengen verwendet. Wenn Sie =A1:A10+@A1:A10, z. B. eingeben, sehen Sie das folgende Dialogfeld:

Screenshot eines Dialogfelds mit der Frage, ob Sie stattdessen die Formel =@A1:A10 + @A1:A10 bevorzugen würden.

Wenn Sie die vom Dialogfeld vorgeschlagene Formel ablehnen, wird die gemischte Formel =A1:A10+@A1:A10 festgeschrieben. Wenn Sie diese Formel später in einer Excel-Version mit einer Version vor dynamischem Array öffnen, wird sie so angezeigt, als =A1:A10+_xlfn.SINGLE(A1:A10) ob die @-Operatoren in der gemischten Formel angezeigt _xlfn.SINGLE(). werden: Wenn eine Excel-Formel mit Möglichkeit dynamischer Arrays diese Formel auswertet, wird ein #NAME zurückgegeben. Fehlerwert. 

Benötigen Sie weitere Hilfe?

Sie können jederzeit einen Experten in der Excel Tech Community fragen oder in Communitys Unterstützung erhalten.

Siehe auch

FILTER-Funktion

ZUFALLSMATRIX-Funktion

SEQUENZ-Funktion

SORTIEREN-Funktion

SORTIERENNACH-Funktion

EINDEUTIG-Funktion

#ÜBERLAUF! -Fehler in Excel

Dynamische Arrays und Verhalten von übergelaufenem Array