Ich versuche, die Funktionen SPLIT
und JOIN
in Google Sheets (der neuen Version) zu verwenden, um einige Daten zu bearbeiten, und es treten Probleme auf, da SPLIT
leere Einträge nicht beibehalten werden.
Die Datenquelle ist im Wesentlichen wie folgt eingerichtet:
| A B C D
-----------------------
1 | q 5 r 2
2 | s t 4
3 | u 8 v
4 | w 3 x 6
(Die leeren Einträge in diesem Datensatz stellen "keine Messung" dar, was sich von einer Messung von unterscheidet. 0
)
Bei Spalten A
und C
erhalte ich das gewünschte Ergebnis mithilfe der folgenden Formel:
=SPLIT(JOIN("~",A1:A4,C1:C4),"~")
Dadurch entsteht eine Zeile, die erwartungsgemäß q
s
u
w
r
t
v
x
in einer eigenen Zelle abläuft.
Diese Methode funktioniert jedoch nicht für Spalten B
und D
. JOIN
funktioniert wie erwartet und gibt die Ausgabe:
5~~8~3~2~4~~6
Das Ausführen SPLIT
dieser Ausgabe führt jedoch zu einem Problem: Ich habe 5
8
3
2
4
6
keine leeren Zellen zwischen 5
und 8
oder zwischen 4
und 6
, was bedeutet, dass die Paare aufgelöst sind (z. B. s
und v
sollten leeren Zellen entsprechen, aber stattdessen w
und x
tun). Das Problem scheint zu sein, dass SPLIT
die Interpretation ~~
als ein einzelnes Trennzeichen und nicht als zwei Trennzeichen mit einem Null-Eintrag zwischen ihnen erfolgt.
Weiß jemand, wie man leere Einträge in einem solchen Szenario beibehält?
Die gewünschte Ausgabe würde so aussehen
q s u w r t v x
5 8 3 2 4 6
quelle
IF()
, um leere Felder automatisch in Leerzeichen umzuwandeln.=ARRAYFORMULA(IF(ISBLANK(B1:B4)," ",B1:B4))
ich einen Dummy-Satz von Spalten mit "" in den leeren Zellen erstellte, die dann fürSPLIT
und verwendet werdenJOIN
. Ich hoffe immer noch, dass jemand eine elegantere Lösung hat: Dies fügt meinem Dokument eine Menge zusätzlicher Dinge hinzu, und ich muss die Zeilennummern an einigen Stellen aktualisieren, wenn dem Datensatz weitere Messungen hinzugefügt werden. (Danke an AI E., dass ich zumindest die Daten für jetztAntworten:
Versuchen Sie die folgende Lösung.
Formel
Erklärt
Sie haben uns bereits gezeigt, dass die
SPLIT
Funktion leere Zellen ignoriert, daher wähle ich diese Zeichenfolge als Trennzeichen :" ,"
. Das Zwischenergebnis derJOIN
Funktion sieht folgendermaßen aus:Ich wähle das Trennzeichen für die
SPLIT
Funktion wie folgt :","
. Das Zwischenergebnis derSPLIT
Funktion sieht folgendermaßen aus:Jetzt müssen wir uns jedoch mit den zusätzlichen Leerzeichen befassen. Daher habe ich die
TRIM
Funktion verwendet, um alle nachfolgenden oder führenden Leerzeichen (in Kombination mit demARRAYFORMULA
) zu entfernen . Vergleichen Sie dieLEN
Werte jedes Zwischenergebnisses.Ergebnis
Beispiel
Ich habe eine Beispieldatei für Sie erstellt: SPLIT, um leere Zellen beizubehalten
quelle
Versuchen Sie die folgende Lösung.
Code
Verwendungszweck
Fügen Sie der Funktion so viele Bereiche hinzu, wie Sie möchten, und sie werden verarbeitet. Fügen Sie dieses kleine Skript in den Skripteditor Ihrer Tabelle ein (Extras> Skripteditor; Klicken Sie auf die Schaltfläche Speichern).
Beispiel
Ich habe eine Beispieldatei für Sie erstellt: SPLIT, um leere Zellen beizubehalten
quelle
Kurze Antwort
Die folgende Formel gibt das gewünschte Ergebnis zurück.
Erweiterte Antwort
Diese Antwort konzentriert sich darauf, einen Weg zu finden, um das gewünschte Ergebnis zu erzielen, anstatt zu diskutieren, wie der gewählte Ansatz zum Funktionieren gebracht werden kann.
Das XY-Problem
Das OP möchte X erhalten und ist der Meinung, dass Y dieses Ergebnis zurückgeben sollte. Dieser Ansatz ist problematisch, da Y einige Einschränkungen aufweist. Dies könnte ein Bürgermeisterproblem sein, da das OP fragt, wie Y funktionieren soll, anstatt nach einer Möglichkeit zu fragen, X zu erhalten, aber es ist nicht so groß, weil es den Kontext und das gewünschte Ergebnis liefert.
Lösung
Google Sheets ist in der Lage, mehrwertige Ergebnisse aus Sicht der Endbenutzer auf sehr einfache Weise zu verarbeiten. Auf der anderen Seite kann eine spezielle Notation verwendet werden, damit Endbenutzer Arrays definieren können.
Die oben genannten Funktionen ermöglichen es, das erwartete Ergebnis ohne die Verwendung der Funktionen SPLIT () und JOIN () und ohne die damit verbundenen Einschränkungen zu erzielen.
Formelerklärung
Es ist ein 2 x 8-Array, das aus zwei 2 x 4-Arrays / Bereichen besteht. Das Semikolon (
;
) wird unter der Annahme verwendet, dass das Dezimaltrennzeichen der Tabelle ein Punkt (.
) ist. Wenn das Dezimaltrennzeichen ein Komma war, ersetzen Sie es durch einen Backslash (\
).Konvertiert das 2 x 8-Array in ein 8 x 2-Array.
Einer der Vorteile dieser Methode besteht darin, dass keine spezielle Behandlung von leeren Zellen erforderlich ist. Weitere Vorteile sind, dass es sich um eine sehr kompakte Formel handelt und sehr einfach anzupassen ist.
Verweise
quelle
Wenn Sie sich anschließen und das Trennzeichen auf "," setzen, ein Komma mit einem vorangestellten Leerzeichen, wird dieses Leerzeichen automatisch beibehalten, wenn Sie es erneut teilen:
quelle