Split()から最初のアイテムを取得する


104

SPLIT関数を使用して、のような文字列を分割します1.23/1.15

今のところ、2つのセルが生成されます。しかし、結果から特定の要素を取得するにはどうすればよいですか?私はこのようなことをしたいと思います:

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

抽出し1.23ます。そのための正しい構文は何ですか?

INDEX関数を使用しようとしましたが、成功しませんでした。=INDEX(SPLIT("1.23/1.15", "/"), 0,0)

回答:


158

インデックス関数を使用して、返す値を選択できます。したがって、例から2番目の値を取得するには、次を使用できます。

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

最後の引数は、どちらcolumnを取得するかを示します-1最初の値を取得します。

または、left/rightを使用findして、例からいずれかの値を抽出することもできます。たとえば、使用できる最初の値を取得するには、次のようにします。

=left("1.23/1.15", find("/", "1.23/1.15"))

1
ああ、私はちょうどインデックスがゼロベースであると推測しました。ありがとう
filur 2015

left/ rightwithを試しましたがsplit、常に最初の値が返されました。find代わりに使用する必要があることに気づいていない人に注意してください。
logicbloke

24

上記の2つのソリューションの問題は、arrayformula関数内でサポートされていないことです。クエリ関数でラップすると、目的の結果が得られ、返そうとしているフィールドだけを解析するという点で非常に柔軟性があります。

1列目を返す

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

2列目を返す

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

あなたはARRAYFORMULAでそれを使用したい場合は空にし、設定されたヘッダに覚えている: =query(SPLIT("1.23/1.15", "/"), "SELECT Col1 label Col1 '' ")
アルノ

1

さらに、これを範囲に適用する場合は、次を使用できます。

 =index(split(filter(A2:A,A2:A<>""),"/"),0,2)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.