Ich biete zwei Versionen an, je nachdem, ob leere Zellen aufbewahrt werden sollen. Die Grundidee ist dieselbe:
- Wählen Sie ein Zeichen aus, das nicht in Ihrer Tabelle enthalten ist (z. B. ein exotisches Unicode-Zeichen, auf das über zugegriffen werden kann
CHAR
).
- Verwenden Sie es im
JOIN
Befehl für jede der drei Spalten.
- Verketten Sie die Ergebnisse und fügen Sie das Zeichen dazwischen hinzu.
SPLIT
die verkettete Zeichenfolge mit demselben Zeichen.
TRANSPOSE
das Ergebnis.
Zum Beispiel:
=TRANSPOSE( SPLIT( JOIN(CHAR(57344),A1:A) &CHAR(57344)& JOIN(CHAR(57344),B1:B) &CHAR(57344)& JOIN(CHAR(57344),C1:C), CHAR(57344) ) )
Wo zum Verbinden / Teilen habe ich das Zeichen ausgewählt CHAR(57344)
, das für den privaten Gebrauch bestimmt ist und daher in keiner gültigen Eingabe vorhanden sein sollte.
Die obige Formel entfernt leere Einträge , da dies der SPLIT
Fall ist. Dies kann praktisch sein, wenn Ihre Daten keine Leerzeichen enthalten: Sie sparen sich die Mühe, zu verfolgen, wo sich die letzte Zeile der Daten befindet. In anderen Fällen sollten Leerzeichen erhalten bleiben.
Um Leerzeichen zu erhalten, folge ich der Antwort von Jacob Jan Tuinstra, außer dass ich anstelle von Leerzeichen einen anderen Unicode für den privaten Gebrauch verwendet habe (wer weiß, vielleicht haben Sie einige Zellen, die nur ein Leerzeichen enthalten, und Sie möchten diese behalten). Dies beinhaltet zwei zusätzliche Schritte: Nachdem ich alles wie zuvor verbunden habe SUBSTITUTE
, ersetze ich es CHAR(57344)
durch CHAR(57344)&CHAR(57345)
, teile es dann wie zuvor und ersetze es CHAR(57345)
durch eine leere Zeichenfolge.
=TRANSPOSE( ARRAYFORMULA(SUBSTITUTE( SPLIT( SUBSTITUTE(...joins... , CHAR(57344),CHAR(57344)&CHAR(57345)), CHAR(57344) ), CHAR(57345), "")))
Das vollständige Ergebnis sieht folgendermaßen aus (beachten Sie, dass ich jetzt spezifiziere, wo sich die letzte Datenzeile befindet):
=TRANSPOSE( ARRAYFORMULA(SUBSTITUTE( SPLIT( SUBSTITUTE(JOIN(CHAR(57344),A1:A9) &CHAR(57344)& JOIN(CHAR(57344),B1:B9) &CHAR(57344)& JOIN(CHAR(57344),C1:C9), CHAR(57344),CHAR(57344)&CHAR(57345)), CHAR(57344) ), CHAR(57345), "" )))
Noch eine Einschränkung: Zeichenfolgen in Google Sheets dürfen nicht länger als 50000 Zeichen sein. Wenn Ihre Daten zu groß sind, als dass ein auf Zeichenfolgen basierender Ansatz funktionieren könnte, verwenden Sie ein Skript ( dieses ist ein guter Ausgangspunkt).