Holen Sie sich den ersten Artikel von Split ()

95

Ich benutze die SPLIT- Funktion, um einen String zu teilen, der ungefähr so aussieht 1.23/1.15.

Im Moment liefert es zwei Zellen, wie es sollte. Aber wie bekomme ich ein bestimmtes Element aus dem Ergebnis? Ich möchte so etwas machen:

SPLIT("1.23/1.15", "/")[0]

zu extrahieren 1.23. Was ist die richtige Syntax dafür?

Ich habe versucht, die INDEXFunktion zu verwenden, ohne Erfolg:=INDEX(SPLIT("1.23/1.15", "/"), 0,0)

Filur
quelle

Antworten:

148

Mit der Indexfunktion können Sie auswählen, welcher Wert zurückgegeben werden soll. Um den zweiten Wert aus Ihrem Beispiel abzurufen, können Sie Folgendes verwenden:

=index(SPLIT("1.23/1.15", "/"), 0, 2)

Das letzte Argument besagt, welches columnSie abrufen möchten - 1würde den ersten Wert abrufen.

Alternativ können Sie left/ rightund verwenden find, um einen der Werte aus Ihrem Beispiel zu extrahieren. Zum Beispiel, um den ersten Wert zu erhalten, den Sie verwenden könnten:

=left("1.23/1.15", find("/", "1.23/1.15"))
gar
quelle
1
Oh, ich habe gerade angenommen, dass der Index auf Null basiert. Danke
Filur
Ich habe left/ rightmit versucht splitund es wurde immer der 1. Wert zurückgegeben. Nur ein Hinweis für alle da draußen, die nicht bemerken, dass Sie findstattdessen verwenden müssen.
Logicbloke
23

Das Problem mit den beiden oben genannten Lösungen besteht darin, dass sie innerhalb einer Arrayformelfunktion nicht unterstützt werden. Wenn Sie eine Abfragefunktion einbinden, erhalten Sie das gewünschte Ergebnis und können sehr flexibel nur das Feld analysieren, das Sie zurückgeben möchten:

Rückgabe der 1. Spalte

=query(SPLIT("1.23/1.15", "/"), "SELECT Col1")

2. Spalte zurückgeben

=query(SPLIT("1.23/1.15", "/"), "SELECT Col2")
user3626750
quelle
Wenn Sie es in einer Array-Formel verwenden möchten, denken Sie daran, den Header auf leer zu setzen: =query(SPLIT("1.23/1.15", "/"), "SELECT Col1 label Col1 '' ")
Arno
1

Wenn Sie dies auf einen Bereich anwenden möchten, können Sie außerdem Folgendes verwenden:

 =index(split(filter(A2:A,A2:A<>""),"/"),0,2)
N_Browder
quelle