Excelも見習え!Googleスプレッドシートで区切りテキストのセル単位分割が超簡単に

   

バッドなテクニック

表計算ソフトと言えばMicrosoft Excel、Excelと言えば表計算が過言で無い程にこの分野でのExcelの立ち位置は不動です。しかし、完璧でもう伸びしろが無いかと言えばさにあらず。手軽にオンラインで利用出来るGoogleスプレッドシートへの機能追加には、これExcelでも同じに出来たらなあ…という機能もあります。

表題にはその中の一つです。1セルの中に含まれる区切りテキスト(カンマ、タブ等)をセル分割することが出来るようになりました。

  1. 例えば、以下のようにA1セルに「埼玉,神奈川,東京,千葉,茨城」といったカンマ区切りのテキストが入っています。これを個々に分割したい。まず対象のA1セルを選択します。
    分割対象を選択

    分割対象を選択

  2. メニューの「データ」-「テキストを列に分割」をクリックします。
    テキストを列に分割

    テキストを列に分割

  3. すると、A1セルの内容がA1からE1までセル毎に分割されます。
    分割結果

    分割結果

    もし、カンマ区切りでは無い場合、A1セル右下にポップアップしたチップにあるプルダウンリストから区切り記号を選択します。リストに無い区切り文字も「カスタム」を選択して入力すればちゃんと区切り文字として認識されます。

これCSVファイル(カンマ区切りテキスト)やTSVファイル(タブ区切りテキスト)など別ファイルを読み込むのであれば、EXCELでもGoogleスプレッドシートでも簡単なのです。メニューからファイルを開く(Excel)かファイルのインポート(Googleスプレッドシート)を選ぶだけです。とはいえ、既に区切りテキストがテキストエディタで開かれてしまっていたら、直接貼り付けて処理出来る方が手数が少なくてより便利ですよね。

Excelでもセル内のテキストの分割が出来ない訳ではありません。区切り位置指定ウィザードを使えば出来る(Office TANAKA - Excel Tips[文字列をスペースで分割する])のですが、やりたいことに比べてウィザードでポチポチやっていくのは大仰過ぎるのです。

因みに、Googleスプレッドシートの場合、更にSPLIT関数でも区切り文字分割が出来ます。この例ではC1セルに「=split(A1,",",TRUE)」と入力することによってC1からG1に分割結果が表示されます。違いとしては、先に機能ではオリジナルのテキストは保持されませんが、こちらはあくまで関数でありオリジナルを参照しつつ分割します。結果、オリジナルのセルの内容を変更すれば、動的に関数の結果も変わります。用途によってはこの方が良い場合もあると思います。

SPLIT関数での分割

SPLIT関数での分割

終わりに

だからと言ってGoogleスプレッドシートで事足りているかと言えば、まだまだ物足りない面も多くあります。ただ、こうやって良い機能が増えて来たら、どちらでも使えるようになると利用者としては嬉しいです。同じ目的で使うものである以上、良いところはお互いに臆面もなくパクッて改善してくれた方が、更に利便性が増すと思うのです。

元ネタは公式の「Google Apps update alerts: Easily convert text to columns in Google Sheets」からです。

適宜覚書-Fragmentsは、筆者が興味をもった様々な情報やネタを筆者が忘れても後で思い出せるよう覚書として公開するBlogです。Google Chrome拡張、Facebook、Google、Twitter、Windows、各種Webアプリなどを扱うことが多いです。この覚書が、もし何かお役立ちになれば幸いです。

 - Apps, Google