Inhaltsverzeichnis
Dank des revolutionären Updates in der Excel 365 Berechnungs-Engine werden Array-Formeln sehr einfach und für jedermann verständlich, nicht nur für Superuser. Das Tutorial erklärt das Konzept der neuen dynamischen Excel-Arrays und zeigt, wie sie Ihre Arbeitsblätter effizienter und viel einfacher einrichten können.
Excel-Array-Formeln werden seit jeher als ein Vorrecht von Gurus und Formelexperten betrachtet. Wenn jemand sagt: "Das kann man mit einer Array-Formel machen", ist die unmittelbare Reaktion vieler Benutzer: "Oh, gibt es denn keine andere Möglichkeit?".
Die Einführung von dynamischen Arrays ist eine lang erwartete und höchst willkommene Neuerung. Aufgrund ihrer Fähigkeit, mit mehreren Werten auf einfache Weise und ohne Tricks und Macken zu arbeiten, sind dynamische Array-Formeln etwas, das jeder Excel-Benutzer verstehen und gerne erstellen kann.
Dynamische Arrays in Excel
Dynamische Arrays sind größenveränderbare Arrays, die auf der Grundlage einer in eine einzelne Zelle eingegebenen Formel automatisch Werte berechnen und in mehrere Zellen zurückgeben.
In den über 30 Jahren seiner Geschichte hat Microsoft Excel viele Veränderungen erfahren, aber eines ist konstant geblieben - eine Formel, eine Zelle. Selbst bei traditionellen Array-Formeln war es notwendig, in jede Zelle, in der ein Ergebnis erscheinen sollte, eine Formel einzugeben. Mit dynamischen Arrays gilt diese Regel nicht mehr. Jetzt wird jede Formel, die ein Array von Werten zurückgibt, automatisch in die benachbartenMit anderen Worten: Die Arbeit mit dynamischen Arrays wird so einfach wie die Arbeit mit einer einzelnen Zelle.
Lassen Sie mich das Konzept anhand eines einfachen Beispiels erläutern: Nehmen wir an, Sie müssen zwei Zahlengruppen multiplizieren, um beispielsweise verschiedene Prozentsätze zu berechnen.
In vordynamischen Versionen von Excel würde die unten stehende Formel nur für die erste Zelle funktionieren, es sei denn, Sie geben sie in mehrere Zellen ein und drücken Strg + Umschalt + Eingabe, um sie explizit zu einer Array-Formel zu machen:
=A3:A5*B2:D2
Sehen Sie sich nun an, was passiert, wenn Sie dieselbe Formel in Excel 365 verwenden: Sie geben sie in eine einzige Zelle ein (in unserem Fall B3), drücken die Eingabetaste... und die gesamte Wut wird auf einmal mit den Ergebnissen gefüllt:
Das Ausfüllen mehrerer Zellen mit einer einzigen Formel wird als verschütten. und der aufgefüllte Bereich von Zellen wird als Überlaufbereich bezeichnet.
Wichtig ist, dass es sich bei dem jüngsten Update nicht nur um eine neue Art der Handhabung von Arrays in Excel handelt, sondern um eine bahnbrechende Änderung der gesamten Berechnungs-Engine. Mit den dynamischen Arrays wurde die Excel-Funktionsbibliothek um eine Reihe neuer Funktionen erweitert, und die bestehenden Funktionen arbeiten nun schneller und effektiver. Schließlich sollen die neuen dynamischen Arrays dieersetzen die altmodischen Array-Formeln, die mit der Tastenkombination Strg + Umschalt + Eingabe eingegeben werden.
Verfügbarkeit dynamischer Excel-Felder
Dynamische Arrays wurden 2018 auf der Microsoft Ignite-Konferenz vorgestellt und im Januar 2020 für Office 365-Abonnenten freigegeben. Derzeit sind sie verfügbar in Microsoft 365-Abonnements und Excel 2021.
Dynamische Arrays werden in diesen Versionen unterstützt:
- Excel 365 für Windows
- Excel 365 für Mac
- Excel 2021
- Excel 2021 für Mac
- Excel für das iPad
- Excel für das iPhone
- Excel für Android-Tablets
- Excel für Android-Telefone
- Excel für das Web
Dynamische Array-Funktionen in Excel
Als Teil der neuen Funktionalität wurden in Excel 365 6 neue Funktionen eingeführt, die Arrays nativ verarbeiten und Daten in einen Bereich von Zellen ausgeben. Die Ausgabe ist immer dynamisch - wenn eine Änderung in den Quelldaten auftritt, werden die Ergebnisse automatisch aktualisiert. Daher der Name der Gruppe - dynamische Array-Funktionen .
Diese neuen Funktionen bewältigen mühelos eine Reihe von Aufgaben, die traditionell als harte Nüsse gelten: Sie können beispielsweise Duplikate entfernen, eindeutige Werte extrahieren und zählen, Leerzeichen herausfiltern, zufällige Ganz- und Dezimalzahlen erzeugen, auf- oder absteigend sortieren und vieles mehr.
Nachfolgend finden Sie eine kurze Beschreibung der einzelnen Funktionen sowie Links zu ausführlichen Anleitungen:
- UNIQUE - extrahiert einzigartige Elemente aus einer Reihe von Zellen.
- FILTER - filtert Daten anhand der von Ihnen definierten Kriterien.
- SORT - sortiert einen Bereich von Zellen nach einer bestimmten Spalte.
- SORTBY - sortiert einen Bereich von Zellen nach einem anderen Bereich oder Array.
- RANDARRAY - erzeugt eine Reihe von Zufallszahlen.
- SEQUENCE - erzeugt eine Liste von fortlaufenden Nummern.
- TEXTSPLIT - teilt Zeichenketten durch ein angegebenes Trennzeichen in Spalten oder/und Zeilen auf.
- TOCOL - konvertiert ein Array oder einen Bereich in eine einzelne Spalte.
- TOROW - einen Bereich oder ein Feld in eine einzelne Zeile umwandeln.
- WRAPCOLS - konvertiert eine Zeile oder Spalte in ein 2D-Array basierend auf der angegebenen Anzahl von Werten pro Zeile.
- WRAPROWS - formt eine Zeile oder Spalte in ein 2D-Array um, basierend auf der angegebenen Anzahl von Werten pro Spalte.
- TAKE - extrahiert eine bestimmte Anzahl von zusammenhängenden Zeilen und/oder Spalten vom Anfang oder Ende eines Arrays.
Darüber hinaus gibt es zwei moderne Ersatzlösungen für die beliebten Excel-Funktionen, die zwar nicht offiziell zur Gruppe gehören, aber alle Vorteile dynamischer Arrays nutzen:
XLOOKUP - ist ein leistungsfähigerer Nachfolger von VLOOKUP, HLOOKUP und LOOKUP, der sowohl in Spalten als auch in Zeilen nachschlagen und mehrere Werte zurückgeben kann.
XMATCH - ist ein vielseitigerer Nachfolger der MATCH-Funktion, der vertikale und horizontale Lookups durchführen kann und eine relative Position des angegebenen Elements zurückgibt.
Dynamische Array-Formeln in Excel
In modernen Versionen von Excel ist das dynamische Array-Verhalten tief integriert und wird nativ für alle Funktionen Excel erstellt für jede Formel, die mehr als einen Wert zurückgibt, automatisch einen größenveränderlichen Bereich, in den die Ergebnisse ausgegeben werden. Dank dieser Fähigkeit können die vorhandenen Funktionen nun zaubern!
Die folgenden Beispiele zeigen die neuen dynamischen Array-Formeln in Aktion sowie die Auswirkungen der dynamischen Arrays auf bestehende Funktionen.
Beispiel 1: Neue dynamische Array-Funktion
Dieses Beispiel zeigt, wie viel schneller und einfacher eine Lösung mit den dynamischen Array-Funktionen von Excel erreicht werden kann.
Um eine Liste eindeutiger Werte aus einer Spalte zu extrahieren, verwenden Sie traditionell eine komplexe CSE-Formel wie diese. Im dynamischen Excel benötigen Sie lediglich eine UNIQUE-Formel in ihrer Grundform:
=EINZIGARTIG(B2:B10)
Sie geben die Formel in eine beliebige leere Zelle ein und drücken die Eingabetaste. Excel extrahiert sofort alle verschiedenen Werte in der Liste und gibt sie in einem Bereich von Zellen aus, der mit der Zelle beginnt, in der Sie die Formel eingegeben haben (in unserem Fall D2). Wenn sich die Quelldaten ändern, werden die Ergebnisse neu berechnet und automatisch aktualisiert.
Beispiel 2: Kombinieren mehrerer dynamischer Array-Funktionen in einer Formel
Wenn es keine Möglichkeit gibt, eine Aufgabe mit einer Funktion zu erfüllen, ketten Sie mehrere Funktionen aneinander! Um beispielsweise Daten nach einer Bedingung zu filtern und die Ergebnisse alphabetisch zu ordnen, wickeln Sie die Funktion SORT wie folgt um FILTER:
=SORT(FILTER(A2:C13, B2:B13=F1, "Keine Ergebnisse"))
A2:C13 sind die Quelldaten, B2:B13 sind die zu prüfenden Werte und F1 ist das Kriterium.
Beispiel 3: Verwendung der neuen dynamischen Array-Funktionen zusammen mit den bestehenden Funktionen
Da die in Excel 365 implementierte neue Berechnungs-Engine herkömmliche Formeln problemlos in Arrays umwandeln kann, spricht nichts dagegen, neue und alte Funktionen miteinander zu kombinieren.
Um beispielsweise zu zählen, wie viele eindeutige Werte es in einem bestimmten Bereich gibt, schachteln Sie die dynamische Array-Funktion UNIQUE in die gute alte COUNTA:
=COUNTA(UNIQUE(B2:B10))
Beispiel 4: Vorhandene Funktionen unterstützen dynamische Arrays
Wenn Sie der TRIM-Funktion in einer älteren Version wie Excel 2016 oder Excel 2019 einen Bereich von Zellen übergeben, gibt sie ein einziges Ergebnis für die erste Zelle zurück:
=TRIM(A2:A6)
Im dynamischen Excel verarbeitet dieselbe Formel alle Zellen und liefert mehrere Ergebnisse, wie unten dargestellt:
Beispiel 5: VLOOKUP-Formel zur Rückgabe mehrerer Werte
Wie jeder weiß, ist die VLOOKUP-Funktion so konzipiert, dass sie einen einzigen Wert auf der Grundlage des von Ihnen angegebenen Spaltenindexes zurückgibt. In Excel 365 können Sie jedoch ein Feld von Spaltennummern angeben, um Übereinstimmungen aus mehreren Spalten zurückzugeben:
=VLOOKUP(F1, A2:C6, {1,2,3}, FALSE)
Beispiel 6: TRANSPOSE-Formel leicht gemacht
In früheren Excel-Versionen ließ die Syntax der TRANSPOSE-Funktion keinen Raum für Fehler. Um die Daten in Ihrem Arbeitsblatt zu drehen, mussten Sie die ursprünglichen Spalten und Zeilen zählen, die gleiche Anzahl leerer Zellen markieren, aber die Ausrichtung ändern (ein verblüffender Vorgang in riesigen Arbeitsblättern!), eine TRANSPOSE-Formel in den markierten Bereich eingeben und Strg + Umschalt + Enter drücken, um sie korrekt auszuführen. Puh!
Im dynamischen Excel geben Sie die Formel einfach in die ganz linke Zelle des Ausgabebereichs ein und drücken die Eingabetaste:
=TRANSPONIEREN(A1:B6)
Erledigt!
Überlaufbereich - eine Formel, mehrere Zellen
Die Auslaufbereich ist ein Bereich von Zellen, der die von einer dynamischen Array-Formel zurückgegebenen Werte enthält.
Wenn eine beliebige Zelle im Überlaufbereich ausgewählt wird, erscheint der blaue Rahmen, um zu zeigen, dass alles darin durch die Formel in der Zelle oben links berechnet wird. Wenn Sie die Formel in der ersten Zelle löschen, sind alle Ergebnisse verschwunden.
Der Überlaufbereich ist eine wirklich großartige Sache, die das Leben der Excel-Benutzer sehr erleichtert. Früher mussten wir bei CSE-Feldformeln raten, in wie viele Zellen sie kopiert werden sollten. Jetzt geben Sie die Formel einfach in die erste Zelle ein und lassen Excel den Rest erledigen.
Hinweis: Wenn andere Daten den Spill-Bereich blockieren, tritt ein #SPILL-Fehler auf. Sobald die blockierenden Daten entfernt sind, wird der Fehler behoben.
Weitere Informationen finden Sie im Excel-Überlaufbereich.
Referenz des Auslaufbereichs (Symbol #)
Um auf den Überlaufbereich zu verweisen, setzen Sie eine Raute oder ein Pfund-Symbol (#) hinter die Adresse der Zelle oben links im Bereich.
Um zum Beispiel herauszufinden, wie viele Zufallszahlen durch die RANDARRAY-Formel in A2 generiert werden, geben Sie der Funktion COUNTA die Referenz auf den Überlaufbereich:
=COUNTA(A2#)
Um die Werte im Überlaufbereich zu addieren, verwenden Sie:
=SUMME(A2#)
Tipps:
- Um schnell auf einen Spillbereich zu verweisen, markieren Sie einfach alle Zellen innerhalb des blauen Rahmens mit der Maus, und Excel erstellt den Spillref für Sie.
- Im Gegensatz zu einer normalen Bereichsreferenz ist die Spill Range Ref dynamisch und reagiert automatisch auf die Größenänderung des Bereichs.
- Einzigartige Werte extrahieren: traditionelle Formeln
- Einmalige und eindeutige Werte zählen: traditionelle Formeln
- Spalten alphabetisch sortieren: traditionelle Formeln
- Dynamisches Excel die dynamische Arrays, Funktionen und Formeln vollständig unterstützt. Derzeit sind nur Excel 365 und Excel 2021 verfügbar.
- Altes Excel Auch bekannt als traditionelles oder prä-dynamisches Excel, in dem nur Strg + Umschalt + Enter-Formeln unterstützt werden, ist Excel 2019, Excel 2016, Excel 2013 und frühere Versionen.
- Eine dynamische Array-Formel wird in eine Zelle eingegeben und mit einem normalen Enter-Tastendruck abgeschlossen. Um eine altmodische Array-Formel abzuschließen, müssen Sie Strg + Umschalt + Enter drücken.
- Neue Array-Formeln werden automatisch auf mehrere Zellen verteilt. CSE-Formeln müssen in einen Bereich von Zellen kopiert werden, um mehrere Ergebnisse zu erhalten.
- Die Ausgabe von dynamischen Array-Formeln passt sich automatisch an, wenn sich die Daten im Quellbereich ändern. CSE-Formeln schneiden die Ausgabe ab, wenn der Rückgabebereich zu klein ist, und geben Fehler in zusätzlichen Zellen zurück, wenn der Rückgabebereich zu groß ist.
- Eine dynamische Array-Formel lässt sich leicht in einer einzelnen Zelle bearbeiten. Um eine CSE-Formel zu ändern, müssen Sie den gesamten Bereich auswählen und bearbeiten.
- Es ist nicht möglich, Zeilen in einem CSE-Formelbereich zu löschen und einzufügen - Sie müssen zuerst alle vorhandenen Formeln löschen. Bei dynamischen Arrays ist das Einfügen oder Löschen von Zeilen kein Problem.
- Excel #SPILL-Fehler - Ursachen und Behebungen
- Wie behebt man den #SPILL! Fehler mit VLOOKUP, INDEX MATCH, SUMIF
Weitere Einzelheiten finden Sie unter Spill range operator.
Impliziter Schnittpunkt und @-Zeichen
Im dynamischen Array Excel gibt es eine weitere wichtige Änderung in der Formelsprache - die Einführung des @-Zeichens, bekannt als die impliziter Schnittmengenoperator .
In Microsoft Excel, implizite Verschneidung ist ein Formelverhalten, das viele Werte auf einen einzigen Wert reduziert. Im alten Excel konnte eine Zelle nur einen einzigen Wert enthalten, so dass dies das Standardverhalten war und kein spezieller Operator dafür erforderlich war.
Im neuen Excel werden alle Formeln standardmäßig als Array-Formeln betrachtet. Der implizite Schnittpunkt-Operator wird verwendet, um das Array-Verhalten zu verhindern, wenn Sie dies in einer bestimmten Formel nicht wünschen. Mit anderen Worten, wenn Sie möchten, dass die Formel nur einen Wert zurückgibt, setzen Sie @ vor den Namen der Funktion, und sie verhält sich wie eine Nicht-Array-Formel im traditionellen Excel.
Um zu sehen, wie es in der Praxis funktioniert, sehen Sie sich bitte den folgenden Screenshot an.
In C2 gibt es eine dynamische Array-Formel, die die Ergebnisse in viele Zellen verteilt:
=UNIQUE(A2:A9)
In E2 wird der Funktion das Zeichen @ vorangestellt, das die implizite Schnittmenge aufruft. Als Ergebnis wird nur der erste eindeutige Wert zurückgegeben:
=@UNIQUE(A2:A9)
Weitere Informationen finden Sie unter Implizite Schnittmenge in Excel.
Vorteile der dynamischen Arrays in Excel
Dynamische Arrays sind zweifellos eine der besten Excel-Erweiterungen seit Jahren. Wie jede neue Funktion haben sie Stärken und Schwächen. Zum Glück für uns sind die Stärken der neuen dynamischen Array-Formeln in Excel überwältigend!
Einfacher und leistungsfähiger
Mit dynamischen Arrays lassen sich auf sehr viel einfachere Weise leistungsfähigere Formeln erstellen. Hier einige Beispiele:
Nativ für alle Formeln
Im dynamischen Excel müssen Sie sich nicht darum kümmern, welche Funktionen Arrays unterstützen und welche nicht. Wenn eine Formel mehrere Werte zurückgeben kann, tut sie dies standardmäßig. Dies gilt auch für arithmetische Operationen und Legacy-Funktionen, wie in diesem Beispiel gezeigt.
Verschachtelte dynamische Array-Funktionen
Um Lösungen für komplexere Aufgaben zu finden, können Sie die neuen dynamischen Array-Funktionen von Excel kombinieren oder sie zusammen mit den alten Funktionen verwenden, wie hier und hier gezeigt.
Relative und absolute Referenzen sind weniger wichtig
Dank des Ansatzes "eine Formel, viele Werte" ist es nicht nötig, Bereiche mit dem $-Zeichen zu sperren, da sich die Formel technisch gesehen nur in einer Zelle befindet. Daher spielt es in den meisten Fällen keine Rolle, ob Sie absolute, relative oder gemischte Zellbezüge verwenden (was für unerfahrene Benutzer immer eine Quelle der Verwirrung war) - eine dynamische Array-Formel wird in jedem Fall korrekte Ergebnisse liefern!
Beschränkungen dynamischer Arrays
Die neuen dynamischen Arrays sind großartig, aber wie bei jeder neuen Funktion gibt es einige Vorbehalte und Überlegungen, die Sie beachten sollten.
Die Ergebnisse können nicht auf die übliche Weise sortiert werden
Der von einer dynamischen Array-Formel zurückgegebene Überlaufbereich kann nicht mit der Excel-Sortierfunktion sortiert werden. Jeder derartige Versuch führt zu der Meldung " Sie können einen Teil eines Arrays nicht ändern "Um die Ergebnisse von der kleinsten zur größten Zahl oder umgekehrt zu ordnen, wickeln Sie Ihre aktuelle Formel in die Funktion SORT ein. So können Sie zum Beispiel gleichzeitig filtern und sortieren.
Kann keinen Wert im Überlaufbereich löschen
Keiner der Werte in einem Spillbereich kann aus dem gleichen Grund gelöscht werden: Sie können keinen Teil eines Arrays ändern. Dieses Verhalten ist erwartet und logisch. Traditionelle CSE-Array-Formeln funktionieren ebenfalls auf diese Weise.
werden in Excel-Tabellen nicht unterstützt
Diese Funktion (oder dieser Fehler?) ist ziemlich unerwartet. Dynamische Array-Formeln funktionieren nicht innerhalb von Excel-Tabellen, sondern nur innerhalb von regulären Bereichen. Wenn Sie versuchen, einen Spill-Bereich in eine Tabelle zu konvertieren, wird Excel dies zwar tun, aber anstelle der Ergebnisse sehen Sie nur einen #SPILL!
Arbeiten Sie nicht mit Excel Power Query
Die Ergebnisse von dynamischen Array-Formeln können nicht in Power Query geladen werden, d. h., wenn Sie versuchen, zwei oder mehr Spill-Bereiche mit Power Query zusammenzuführen, wird dies nicht funktionieren.
Dynamische Arrays vs. traditionelle CSE-Array-Formeln
Mit der Einführung von dynamischen Arrays können wir von zwei Arten von Excel sprechen:
Es versteht sich von selbst, dass dynamische Arrays den CSE-Array-Formeln in jeder Hinsicht überlegen sind. Obwohl die traditionellen Array-Formeln aus Kompatibilitätsgründen beibehalten werden, empfiehlt es sich, von nun an die neuen zu verwenden.
Hier sind die wichtigsten Unterschiede:
Abwärtskompatibilität: Dynamische Arrays in altem Excel
Wenn Sie eine Arbeitsmappe mit einer dynamischen Array-Formel im alten Excel öffnen, wird diese automatisch in eine herkömmliche Array-Formel umgewandelt, die in {geschweifte Klammern} eingeschlossen ist. Wenn Sie das Arbeitsblatt erneut im neuen Excel öffnen, werden die geschweiften Klammern entfernt.
In älteren Excel-Versionen wird den neuen dynamischen Array-Funktionen und Spill-Range-Referenzen das Präfix _xlfn vorangestellt, um anzuzeigen, dass diese Funktionalität nicht unterstützt wird. Ein Spill-Range-Referenzzeichen (#) wird durch die Funktion ANCHORARRAY ersetzt.
So sieht eine UNIQUE-Formel zum Beispiel aus in Excel 2013 :
Die meisten dynamischen Array-Formeln (aber nicht alle!) zeigen ihre Ergebnisse in Excel so lange an, bis Sie sie ändern. Wenn Sie eine Formel bearbeiten, wird sie sofort unterbrochen und es werden ein oder mehrere #NAME?-Fehlerwerte angezeigt.
Dynamische Array-Formeln in Excel funktionieren nicht
Je nach Funktion können verschiedene Fehler auftreten, wenn Sie eine falsche Syntax oder ungültige Argumente verwenden. Nachfolgend finden Sie die 3 häufigsten Fehler, die bei jeder dynamischen Array-Formel auftreten können.
#SPILL! Fehler
Wenn ein dynamisches Array mehrere Ergebnisse zurückgibt, aber etwas den Spill-Bereich blockiert, tritt ein #SPILL!-Fehler auf.
Um den Fehler zu beheben, müssen Sie nur alle Zellen im Überlaufbereich löschen, die nicht vollständig leer sind. Um schnell alle Zellen zu erkennen, die im Weg sind, klicken Sie auf den Fehlerindikator und dann auf Obstruierende Zellen auswählen .
Abgesehen von einem nicht leeren Überlaufbereich kann dieser Fehler durch einige andere Gründe verursacht werden. Weitere Informationen finden Sie unter
#REF!-Fehler
Aufgrund der begrenzten Unterstützung für externe Verweise zwischen Arbeitsmappen müssen bei dynamischen Arrays beide Dateien geöffnet sein. Wenn die Quellarbeitsmappe geschlossen ist, wird ein #REF!-Fehler angezeigt.
#NAME? Fehler
Ein #NAME?-Fehler tritt auf, wenn Sie versuchen, eine dynamische Array-Funktion in einer älteren Version von Excel zu verwenden. Bitte denken Sie daran, dass die neuen Funktionen nur in Excel 365 und Excel 2021 verfügbar sind.
Wenn dieser Fehler in unterstützten Excel-Versionen auftritt, überprüfen Sie den Namen der Funktion in der problematischen Zelle. Möglicherweise wurde er falsch eingegeben :)
So funktioniert die Verwendung von dynamischen Arrays in Excel. Ich hoffe, Sie werden von dieser fantastischen neuen Funktionalität begeistert sein! Ich danke Ihnen jedenfalls für die Lektüre und hoffe, Sie nächste Woche in unserem Blog begrüßen zu dürfen!