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)

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"))

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")

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)
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.