SPLIT 関数を使用して、1.23/1.15
のような文字列を分割します。
現時点では、2つのセルが生成されます。しかし、結果から特定の要素を取得するにはどうすればよいですか?私はこのようなことをしたいと思います:
SPLIT("1.23/1.15", "/")[0]
1.23
を抽出します。そのための正しい構文は何ですか?
INDEX
関数を使用してみましたが、成功しませんでした:=INDEX(SPLIT("1.23/1.15", "/"), 0,0)
インデックス関数を使用して、返す値を選択できます。したがって、例から2番目の値を取得するには、次を使用できます。
=index(SPLIT("1.23/1.15", "/"), 0, 2)
最後の引数は、どのcolumn
を取得したいかを示します-1
は最初の値を取得します。
または、left
/right
およびfind
を使用して、例からいずれかの値を抽出できます。たとえば、最初の値を取得するには、次を使用できます。
=left("1.23/1.15", find("/", "1.23/1.15"))
上記の2つのソリューションの問題は、arrayformula関数内ではサポートされないことです。クエリ関数でラップすると、目的の結果が得られ、返そうとしているフィールドだけを解析するという点で非常に柔軟です。
1列目を返す
=query(SPLIT("1.23/1.15", "/"), "SELECT Col1")
2列目を返す
=query(SPLIT("1.23/1.15", "/"), "SELECT Col2")
さらに、これを範囲に適用する場合は、次を使用できます。
=index(split(filter(A2:A,A2:A<>""),"/"),0,2)