見出し画像

Google スプレッドシートに貼り付けたCSVデータの列を分割する

この記事はGoogle Workspace 標準機能 Advent Calendar 2022の13日目の記事です。

こんにちは!ゆるふわクラウドおじさん こと、Teeda と申します。『Google アプリの教科書シリーズ』という本を毎年Amazon で販売していたり、近所のドラッグストアの店内の棚を眺めては、これをGoogle スプレッドシートでお絵描きするにはどうしようかなあ…と、脳内で一人遊びをしています。イカレテマスネ。

普段からGoogle Workspace や各種Google アプリの機能を使い、クラウドや共同編集によっていろんな非効率を解消できる方法を探っています。みんなで便利な機能を共有できたらなあと思い、アドベントカレンダーを始めました。
アドベントカレンダーを作成するのははじめてで、これが13日目の記事です。早いもので、半分まで来ました。とてもうれしいことがありまして、12日目の記事(Google ドキュメントでマークダウン記法使えるから社内ドキュメントもうこれでいいなってなった。)を、私ではない方が書いてくれました。

Google ドキュメントでマークダウン記法で装飾することもできるし、どうしてもマークダウンを覚えられないという人は、マウス操作によって見出しなどを設定できるってのがいいですよね。

アドベントカレンダーが後半戦突入ですが、ぜひどなたでも気軽にご参加いただけたらと思います。

Google スプレッドシートでCSV ファイルのデータを使用する

Google スプレッドシートにCSV ファイルをアップロードしたり、Google スプレッドシートのデータをMicrosoft Excel やテキストエディタなどで開いて、データをコピーして貼り付けることでGoogle スプレッドシートでデータを使用したいということはよくありますよね。

Google スプレッドシートで作成したデータを
ファイル > ダウンロード > カンマ区切り形式(.csv)
をクリックしてCSV ファイルとしてダウンロードすることもできます。

Google スプレッドシートのファイルをCSV の形式でダウンロードできる

CSV ファイルをインポート

ファイル > インポート
をクリックして、
パソコン内のCSV ファイルを指定してインポートできます。
インポート時に、インポート場所の指定、区切り文字の種類を指定します。
操作しているGoogle スプレッドシートのファイル内に新しいシートを作成し、CSV ファイルをアップロードする時は「カンマ」を区切り文字として指定しましょう。
※CSVは(Comma-Separated Values)の略
※TSVは(Tab-Separated Values)の略

CSV ファイルをインポート

すると、指定した場所にデータがインポートされて表示されます。

インポートしたCSVファイルのデータがGoogle スプレッドシートで使用できる

インポート時に、区切り文字を正確に指定することで、データを簡単にインポートできます。

CSV ファイルのテキストをコピーして貼り付ける

CSV ファイルをテキストエディタ、例えばみんな大好き☆サクラエディタちゃんで開いて、すべての範囲を指定してコピーし、
Google スプレッドシートで貼り付けたい箇所に貼り付けられます。

テキストエディタでCSVファイルを開いてデータをコピー

貼り付けの操作をすると、1つの列にカンマで区切られて、各行にデータが貼り付けられているかと思います。
この時、画面下の方になんかボタンがあります。
このボタンをクリックして
「テキストを列に分割」をクリックすると、区切り文字を指定して列に分割できます。

CSV のデータをコピーして貼り付け直後のイメージ

CSV ファイルをコピーして貼り付けている場合は、Google スプレッドシートさんがいい感じに列を分割してくれます。いい感じになっていなかったら、区切り文字を「カンマ」に変更してみましょう。
※各行内で「,」カンマが区切り文字以外にも入力されている場合は列の分割に不具合が起こるかもしれません。

カンマで区切られた箇所で列に分割される

データをコピーして貼り付けた直後に、画面の下の方に「テキストを列に分割」ボタンが表示されます。貼り付け後に別のセルをクリックしたり、キーボード操作で「↑」「↓」「←」「→」や、左右左AB などを押したら、「テキストを列に分割」ボタンが表示されなくなります。
もうこのボタンを表示させたい場合は、同じデータをコピーして、同じ場所に貼り付けることで、貼り付けの操作後に「テキストを列に分割」ボタンが表示されます。

あるいは、列を分割したい範囲を指定して
データ > テキストを列に分割
をクリックすることでも、列を分割できます。

挿入済みの値に対して列を分割できる

SPLIT 関数で列を分割する

カンマで区切られた元のデータはそのまま残しつつ、
カンマ区切りで列を分割したいという時はSPLIT 関数を使用します。
列を分割 の操作によって、同じ値をコピーして別の列に貼り付けると、元データの更新を反映できません。

カンマ区切りの元のデータが編集されたとき、別の列の値も元のデータと連動して更新させたいという場合にはSPLIT 関数を使用しましょう。

=SPLIT([セル],[区切り文字])
=SPLIT(A2,",")

のように定義しましょう。
ここで裏技。ARRAYFORMULA 関数とIF 関数を使用して、指定した範囲のうち、入力されている行ではSPLIT 関数の処理結果を、そうでない行では空白を表示する、という内容で定義するとデータの更新がとっても楽になります。
※ArrayFormula は、セル内で関数や数式を編集中に、Ctrl + Shift + Enter のショートカットによっても挿入できます。

=ArrayFormula(
IF(A1:A<>"",SPLIT(A1:A,","),
"")

SPLIT 関数を定義すると、このように元データを残しつつ列を分割できます。

SPLIT 関数で「,」カンマを区切り文字として指定して列を分割

まとめ

Google Workspace 標準機能 Advent Calendar 2022の13日目の記事でした。

Google スプレッドシート以外のシステムで使用しているデータをCSV ファイルでダウンロードして、Google スプレッドシートでも使用するということはよくあります。
カンマやそのほかの記号で区切られたデータを「列を分割」することで瞬時に活用できるよう、機能を理解しておきましょう。カンマ区切りのデータの列を分割する、という要望に対して、この記事で解説しているように様々なやり方があります。

標準機能をたくさん理解しておくことで、ビジネスシーンで起こる様々な課題、要望を瞬時に解決できるようになります。Google スプレッドシートのボタンを触ってみてどんな機能があるのかを探ってみたり、関数リスト を眺めてみてどんなものがあるのかをぜひ探してみてください。
Google スプレッドシートでよく使うの関数の使い方を解説した動画をこちらに用意しているのでぜひ見てみてくださいね。

Google Workspace 標準機能 Advent Calendar 2022のご参加者さん、お待ちしています。

この記事が気に入ったらサポートをしてみませんか?