jnobuyukiのブログ

JavaScriptとR言語を中心に研究活動に役立つwebアプリケーション技術について考えていきます。twitter ID: @j_nobuyuki

Google スプレッドシート 区切り文字を指定して文字列を複数セルに分割

解析をテキストファイルで出力してから、MSエクセルに貼り付けてグラフにということがあります。これをGoogle Spread Sheetsで行う方法のメモです。

split()

split(分割したいセル, 区切り文字)
これだけです。

例えば
a1に"1,2,3,4,5"という文字列が入っている場合、
b1に=split(a1, ",")とすればb1からf1にかけて1,2,3,4,5が分割されてセルに入ります。

注意:連続する区切り文字は1つと認識

実際にやってみると区切り文字が連続しているところでは、一回だけ区切られています。
区切り文字を一つ一つ認識して分割する方法を見つけたら追記します。

2014/09/22追記 連続する区切り文字への対処

連続する区切り文字がある場合に、その文字の数だけ分割したいときもあります。これに対処する一つの案として、substituteを組み合わせる方法を紹介します。

f:id:jnobuyuki:20140922131547p:plain

まとめ

かなりややこしいですが、区切り文字が連続する可能性があるときは、以下を試してみてください。この結果だと空白セルにNAという文字列が入ることに注意してください。

split(substitute(substitute(分割する文字列,"同じ区切り文字を2つ書く","区切り文字NA区切り文字"),"同じ区切り文字を2つ書く","区切り文字NA区切り文字"),"区切り文字")

例: 区切り文字カンマの場合
split(substitute(substitute(a1,",,",",NA,"),",,",",NA,"),",")