web-dev-qa-db-ja.com

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

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

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

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

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

INDEX関数を使用してみましたが、成功しませんでした:=INDEX(SPLIT("1.23/1.15", "/"), 0,0)

64
filur

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

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

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

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

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

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

1列目を返す

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

2列目を返す

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

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

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