Inhaltsverzeichnis
Ein schneller Weg, um einen Bereich von Zellen in eine einzelne Zeile zu verwandeln, ist die Verwendung der TOROW Funktion.
Microsoft Excel 365 hat mehrere neue Funktionen eingeführt, um verschiedene Manipulationen mit Arrays durchzuführen. Mit TOROW können Sie im Handumdrehen Bereich-zu-Zeile-Transformationen durchführen. Hier ist eine Liste von Aufgaben, die diese neue Funktion erfüllen kann:
Excel-Funktion TOROW
Die Funktion TOROW in Excel wird verwendet, um ein Feld oder einen Bereich von Zellen in eine Zeile zu konvertieren.
Die Funktion benötigt insgesamt drei Argumente, von denen nur das erste erforderlich ist.
TOROW(array, [ignore], [scan_by_column])Wo:
Array (erforderlich) - ein Array oder ein Bereich, der in eine einzelne Zeile umgewandelt werden soll.
Ignorieren Sie (optional) - legt fest, ob Leerzeichen oder/und Fehler ignoriert werden sollen; kann einen der folgenden Werte annehmen:
- 0 oder weggelassen (Standard) - alle Werte behalten
- 1 - Leerzeichen ignorieren
- 2 - Fehler ignorieren
- 3 - Leerstellen und Fehler ignorieren
Scan_by_column (optional) - legt fest, wie das Array gescannt werden soll:
- FALSE oder weggelassen (Standard) - scannt das Array horizontal zeilenweise.
- TRUE - scannt das Array vertikal nach Spalten.
Tipps:
- Um ein Array in eine einzelne Spalte umzuwandeln, verwenden Sie die Funktion TOCOL.
- Um die umgekehrte Zeilen-zu-Array-Transformation durchzuführen, verwenden Sie entweder die Funktion WRAPCOLS, um in Spalten umzubrechen, oder die Funktion WRAPROWS, um Array in Zeilen umzubrechen.
- Um Zeilen in Spalten umzuwandeln, verwenden Sie die Funktion TRANSPOSE.
TOROW-Verfügbarkeit
TOROW ist eine neue Funktion, die nur in Excel für Microsoft 365 (für Windows und Mac) und Excel für das Web unterstützt wird.
Grundlegende TOROW-Formel in Excel
Für eine einfache Bereichs-zu-Zeile-Transformation verwenden Sie die TOROW-Formel in ihrer Grundform. Dazu müssen Sie nur das erste Argument ( Array ).
Um zum Beispiel ein zweidimensionales Feld, das aus 3 Spalten und 3 Zeilen besteht, in eine einzige Zeile zu verwandeln, lautet die Formel:
=TOROW(A3:C6)
Sie geben die Formel in nur eine Zelle ein (in unserem Fall A10), und sie wird automatisch in so viele Zellen übertragen, wie für die Aufnahme aller Ergebnisse erforderlich sind. In Excel wird der Ausgabebereich, der von einem dünnen blauen Rahmen umgeben ist, als Überlaufbereich bezeichnet.
Wie diese Formel funktioniert:
Zunächst wird ein übergebener Zellbereich in ein zweidimensionales Array umgewandelt, wobei die Spalten durch Kommata und die Zeilen durch Semikolon getrennt sind:
{"Apple","Banana","Cherry";1,2,3;4,5,6;7,8,9}
Anschließend liest die Funktion TOROW das Array von links nach rechts und wandelt es in ein eindimensionales horizontales Array um:
{"Apple","Banana","Cherry",1,2,3,4,5,6,7,8,9}
Das Ergebnis geht in die Zelle A10, von der es in die rechte Nachbarzelle überläuft.
Bereich in Zeile umwandeln, Leerzeichen und Fehler ignorieren
Standardmäßig behält die Funktion TOROW alle Werte aus dem Quellfeld bei, einschließlich leerer Zellen und Fehler. In der Ausgabe erscheinen Nullwerte anstelle von leeren Zellen, was ziemlich verwirrend sein kann.
An Leerzeichen ausschließen setzen Sie die ignorieren. Argument auf 1:
=TOROW(A3:C5, 1)
An Fehler ignorieren setzen Sie die ignorieren. Argument auf 2:
=TOROW(A3:C5, 2)
Um beides zu überspringen, Leerstellen und Fehler , verwenden Sie 3 für die ignorieren. Argument:
=TOROW(A3:C5, 3)
Die folgende Abbildung zeigt alle drei Szenarien in Aktion:
Array horizontal oder vertikal lesen
In der Standardeinstellung verarbeitet die Funktion TOROW das Array horizontal von links nach rechts. Um die Werte spaltenweise von oben nach unten zu scannen, setzen Sie das dritte Argument ( scan_by_column ) auf TRUE oder 1.
Um zum Beispiel den Quellbereich zeilenweise zu lesen, lautet die Formel in E3:
=TOROW(A3:C5)
Um den Bereich spaltenweise zu durchsuchen, lautet die Formel in E8:
=TOROW(A3:C5, ,TRUE)
In beiden Fällen haben die resultierenden Arrays die gleiche Größe, aber die Werte sind in einer anderen Reihenfolge angeordnet.
Mehrere Bereiche in einer Zeile zusammenführen
Um mehrere nicht benachbarte Bereiche zu einer einzigen Zeile zusammenzufassen, stapeln Sie sie zunächst mit Hilfe von HSTACK bzw. VSTACK horizontal oder vertikal zu einem einzigen Array und verwenden dann die Funktion TOROW, um das kombinierte Array in eine Zeile umzuwandeln.
Je nach Ihrer Geschäftslogik wird eine der folgenden Formeln die Aufgabe erfüllen.
Horizontale Stapelung von Arrays und zeilenweise Konvertierung
Mit dem ersten Bereich in A3:C4 und dem zweiten Bereich in A8:C9 stapelt die folgende Formel die beiden Bereiche horizontal zu einem einzigen Array und wandelt es dann in eine Zeile um, in der die Werte von links nach rechts gelesen werden. Das Ergebnis befindet sich in E3 in der Abbildung unten.
=TOROW(HSTACK(A3:C4, A8:C9))
Horizontale Stapelung von Arrays und spaltenweise Konvertierung
Um das gestapelte Array vertikal von oben nach unten zu lesen, setzen Sie das 3. Argument von TOROW auf TRUE, wie in E5 in der Abbildung unten gezeigt:
=TOROW(HSTACK(A3:C4, A8:C9), ,TRUE)
Arrays vertikal stapeln und zeilenweise konvertieren
Um jedes nachfolgende Feld an das untere Ende des vorherigen Feldes anzuhängen und das kombinierte Feld horizontal zu lesen, lautet die Formel in E12:
=TOROW(VSTACK(A3:C4, A8:C9))
Arrays vertikal stapeln und spaltenweise konvertieren
Um jedes nachfolgende Feld an das untere Ende des vorherigen Feldes anzuhängen und das kombinierte Feld vertikal zu scannen, lautet die Formel:
=TOROW(VSTACK(A3:C4, A8:C9), ,TRUE)
Um die Logik besser zu verstehen, beachten Sie die unterschiedliche Reihenfolge der Werte in den resultierenden Arrays:
Eindeutige Werte aus einem Bereich in eine Zeile extrahieren
Seit Microsoft Excel 2016 gibt es eine wunderbare Funktion namens UNIQUE, mit der Sie ganz einfach eindeutige Werte aus einer einzelnen Spalte oder Zeile abrufen können. Sie kann jedoch keine mehrspaltigen Arrays verarbeiten. Um diese Einschränkung zu überwinden, verwenden Sie die Funktionen UNIQUE und TOROW zusammen.
Um beispielsweise alle verschiedenen (unterschiedlichen) Werte aus dem Bereich A2:C7 zu extrahieren und die Ergebnisse in eine Zeile zu stellen, lautet die Formel:
=UNIQUE(TOROW(A2:C7), TRUE)
Da TOROW ein eindimensionales horizontales Array zurückgibt, setzen wir die 2 ( by_col ) von UNIQUE auf TRUE, um die Spalten miteinander zu vergleichen.
Wenn Sie die Ergebnisse in alphabetischer Reihenfolge haben wollen, verpacken Sie die obige Formel in die Funktion SORT:
=SORT(UNIQUE(TOROW(A2:C7), TRUE), , ,TRUE )
Wie bei UNIQUE ist die by_col Argument von SORT wird ebenfalls auf TRUE gesetzt.
TOROW Alternative für Excel 365 - 2010
In Excel-Versionen, in denen die Funktion TOROW nicht zur Verfügung steht, können Sie einen Bereich in eine einzelne Zeile umwandeln, indem Sie eine Kombination verschiedener Funktionen verwenden, die auch in älteren Versionen funktionieren. Diese Lösungen sind komplexer, aber sie funktionieren.
Um den Bereich horizontal zu scannen, lautet die allgemeine Formel:
INDEX( Bereich , QUOTIENT(SPALTE (A1)-1, SPALTEN( Bereich ))+1, MOD(SPALTE(A1)-1, SPALTEN( Bereich ))+1)Um den Bereich vertikal zu scannen, lautet die allgemeine Formel:
INDEX( Bereich , MOD(SPALTE(A1)-1, SPALTEN( Bereich ))+1, QUOTIENT(SPALTE (A1)-1, SPALTEN( Bereich ))+1)Für unseren Beispieldatensatz in A3:C5 sehen die Formeln folgendermaßen aus:
Um den Bereich zeilenweise zu durchsuchen:
=INDEX($A$3:$C$5, QUOTIENT(SPALTE(A1)-1, SPALTEN($A$3:$C$5))+1, MOD(SPALTE(A1)-1, SPALTEN($A$3:$C$5))+1)
Diese Formel ist eine Alternative zur Funktion TOROW, bei der das 3. Argument auf FALSE gesetzt oder weggelassen wird:
=TOROW(A3:C5)
Um den Bereich spaltenweise zu durchsuchen:
=INDEX($A$3:$C$5, MOD(SPALTE(A1)-1, SPALTEN($A$3:$C$5))+1, QUOTIENT(SPALTE(A1)-1, SPALTEN($A$3:$C$5))+1)
Diese Formel entspricht der Funktion TOROW, wobei das dritte Argument auf TRUE gesetzt ist:
=TOROW(A3:C5, ,TRUE)
Bitte beachten Sie, dass diese traditionellen Formeln im Gegensatz zur dynamischen Array-Funktion TOROW in jede Zelle eingegeben werden müssen, in der die Ergebnisse erscheinen sollen. In unserem Fall landet die erste Formel (nach Zeile) in E3 und wird durch M3 kopiert. Die zweite Formel (nach Spalte) landet in E8 und wird durch M8 gezogen.
Damit die Formeln korrekt kopiert werden können, müssen wir den Bereich mit absoluten Referenzen sperren ($A$3:$C$5), aber auch ein benannter Bereich ist möglich.
Wenn Sie die Formeln in mehr Zellen als nötig kopiert haben, erscheint in den "zusätzlichen" Zellen ein #REF!-Fehler. Um dies zu beheben, umschließen Sie Ihre Formel mit der Funktion IFERROR wie folgt:
=IFERROR(INDEX($A$3:$C$5, QUOTIENT(SPALTE(A1)-1, SPALTEN($A$3:$C$5))+1, MOD(SPALTE(A1)-1, SPALTEN($A$3:$C$5))+1), "")
Wie diese Formeln funktionieren
Nachfolgend finden Sie eine detaillierte Aufschlüsselung der ersten Formel, die die Werte nach Zeilen ordnet:
=INDEX($A$3:$C$5, QUOTIENT(SPALTE(A1)-1, SPALTEN($A$3:$C$5))+1, MOD(SPALTE(A1)-1, SPALTEN($A$3:$C$5))+1)
Im Kern der Formel verwenden wir die Funktion INDEX, um den Wert einer Zelle auf der Grundlage ihrer relativen Position im Bereich zu ermitteln.
Die Zeilennummer wird nach dieser Formel berechnet:
QUOTIENT(SPALTE(A1)-1, SPALTEN($A$3:$C$5))+1
Die Idee ist, eine sich wiederholende Zahlenfolge wie 1,1,1,2,2,2,3,3,3, ... zu erzeugen, bei der sich jede Zahl so oft wiederholt, wie es Spalten im Quellbereich gibt. Und so machen wir das:
QUOTIENT gibt den ganzzahligen Anteil einer Division zurück.
Für Zähler verwenden wir SPALTE(A1)-1, die eine fortlaufende Nummer von 0 in der ersten Zelle, in die die Formel eingegeben wird, bis n (Gesamtzahl der Werte im Bereich minus 1) in der letzten Zelle, in der die Formel eingegeben wurde. In diesem Beispiel haben wir 0 in E2 und 8 in M3.
Für Nenner COLUMNS($A$3:$C$5)) gibt eine konstante Zahl zurück, die der Anzahl der Spalten in Ihrem Bereich entspricht (in unserem Fall 3).
Folglich gibt die Funktion QUOTIENT in den ersten 3 Zellen (E3:G3) 0 zurück, zu denen wir 1 hinzufügen, so dass die Zeilennummer 1 ist.
Für die nächsten 3 Zellen (H3:J3) gibt QUOTIENT die Zahl 1 zurück, und +1 ergibt die Zeilennummer 2. Und so weiter.
Zur Berechnung der Spaltennummer bilden Sie mit der Funktion MOD eine entsprechende Zahlenfolge:
MOD(SPALTE(A1)-1, SPALTEN($A$3:$C$5))+1
Da es in unserem Bereich 3 Spalten gibt, muss die Reihenfolge wie folgt aussehen: 1,2,3,1,2,3,...
Die Funktion MOD gibt den Rest nach der Division zurück.
In E3, MOD(SPALTE(A1)-1, SPALTEN($A$3:$C$5))+
wird
MOD(1-1, 3)+1)
und gibt 1 zurück.
In F3, MOD(SPALTE(B1)-1, SPALTEN($A$3:$C$5))+
wird
MOD(2-1, 3)+1)
und gibt 2 zurück.
Sobald die Zeilen- und Spaltennummern festgelegt sind, holt INDEX einfach den Wert am Schnittpunkt dieser Zeile und Spalte.
In E3 gibt INDEX($A$3:$C$5, 1, 1) einen Wert aus der ersten Zeile und der ersten Spalte des referenzierten Bereichs zurück, d. h. aus Zelle A3.
In F3 gibt INDEX($A$3:$C$5, 1, 2) einen Wert aus der ersten Zeile und der zweiten Spalte zurück, d. h. aus Zelle B3.
Und so weiter.
Die zweite Formel, die den Bereich spaltenweise durchsucht, funktioniert ähnlich, mit dem Unterschied, dass wir MOD zur Berechnung der Zeilennummer und QUOTIENT zur Ermittlung der Spaltennummer verwenden.
TOROW-Funktion funktioniert nicht
Wenn die TOROW-Funktion zu einem Fehler führt, ist die Wahrscheinlichkeit groß, dass einer dieser Gründe zutrifft:
#NAME? Fehler
Bei den meisten Excel-Funktionen ist ein #NAME?-Fehler ein deutlicher Hinweis darauf, dass der Name der Funktion falsch geschrieben ist. Bei TOROW kann es auch bedeuten, dass die Funktion in Ihrem Excel nicht verfügbar ist. Wenn Ihre Excel-Version nicht 365 ist, versuchen Sie es mit einer TOROW-Alternative.
#NUM-Fehler
Ein #NUM-Fehler zeigt an, dass das zurückgegebene Array nicht in eine Zeile passt. Das passiert meistens, wenn Sie auf ganze Spalten und/oder Zeilen verweisen, anstatt auf einen kleineren Bereich.
#SPILL-Fehler
In den meisten Fällen deutet ein #SPILL-Fehler darauf hin, dass die Zeile, in die Sie die Formel eingegeben haben, nicht genügend leere Zellen enthält, in die Sie die Ergebnisse übertragen können. Wenn die benachbarten Zellen visuell leer sind, vergewissern Sie sich, dass sie keine Leerzeichen oder andere nicht druckbare Zeichen enthalten. Weitere Informationen finden Sie unter Was bedeutet der #SPILL-Fehler in Excel?
So verwenden Sie die Funktion TOROW in Excel, um ein 2-dimensionales Feld oder einen Bereich in eine einzelne Zeile umzuwandeln. Ich danke Ihnen für die Lektüre und hoffe, Sie nächste Woche in unserem Blog begrüßen zu dürfen!
Übungsheft zum Herunterladen
Excel TOROW-Funktion - Formelbeispiele (.xlsx-Datei)