Googleスプレッドにcsvファイルをインポートする

Googleスプレッドでcsvファイルのインポートをする

Googleスプレッドはエクセルと同じような機能がほぼ使えます。

ここでは大量データが入ったcsvファイルを取り込む方法を解説します。


csvデータは、データがカンマで区切られているテキストデータ。

エクセルでは、ダブルクリックすると自動的に開いてはくれますが、

頭に「0」が入った値は数字とみなされて、勝手に桁を落としてしまったり、日付として扱いたいのに文字列扱いで不便だったり・・・

csvファイルをちゃんと設定して取り込まないと、思ってたのと違う結果になって困った経験をした方はわりと多いはず・・・

では、Googleスプレッドではどのようにcsvデータを取り込んで、その設定はどのようにするのでしょう?

データのインポート

データのインポートはファイルメニューにある「インポート」を選択します。

エクセルだと「データメニュー」にデータの取り込みがあるので、迷ってしまいますね

Googleスプレッドでcsvファイルのインポートをする

インポートを選択すると、下図のような画面が表示されます。

Googleスプレッドでcsvファイルのインポートをする

Googleドライブ上にcsvファイルが置いてあれば、選択肢にそのファイルが表示されます。

「共有アイテム」からファイルを選択することもできますので、共同作業者からファイルを共有してもらえば、そこから取りこむこともできます。

パソコンのデスクトップ上にあるファイルを取り込みたい場合は、「アップロード」を選択して、そのファイルをアップロードして取り込んでください。

ここでは、Googleドライブ上にcsvファイルを置いていますので、そのファイルを取り込んで解説していきます。

取り込みたいcsvファイルを選択すると、下図のような画面が表示されます。

Googleスプレッドでcsvファイルのインポートをする
クラウドワークス

データインポートの設定

インポート場所はデフォルトでは「スプレッドシートを新規作成」なります。

csvファイルと同じ名前のスプレッドシートが新規で作られます。

他にも下図のようにいくつかの選択肢があります。

Googleスプレッドでcsvファイルのインポートをする

「スプレッドシートを新規作成する」で実行すると、画面が下図のように切り替わります。

Googleスプレッドでcsvファイルのインポートをする

「今すぐ開く」をクリックすると、データが挿入されたスプレッドファイルが開かれます。

区切り文字の種類も選択できます。デフォルトは自動検出で、

よほどのことが無いかぎり、自動検出で問題はありません。

取り込んだデータがおかしいなと思ったら、意識的に選択することもできます。

Googleスプレッドでcsvファイルのインポートをする

[タブ][カンマ][カスタム]の3種類から選べます。

「テキストを数値、日付、数式に変換する」

というチェックボックスがあって、デフォルトはチェックが入っています。

このチェックが入っているか入っていないかで、取り込まれたデータの状態が変わります。

データの変換有無による違い

今回取り込むcsvデータをメモ帳で開くとこんなデータになっています。

※自動生成したダミーデータですが電話番号がリアルに見えるので伏せてます。

個人コードは「0」から始まる7桁の値。

電話番号や、郵便番号も「0」から始まるものがあります。

他にも年齢や生年月日など、見た目が数字のデータがいくつかあります。

それでは前に記載の手順に従って、データをインポートしましょう。

今回は、インポート場所を「新しいシートを挿入する」にして実行します。

新しいスプレッドファイルではなく、新しいシートが作成され、そこにデータがインポートされます。

それでは「テキストを数値、日付、数式に変換する」

にチェックが有るときと無いときの違いを見比べてみましょう。

実際にチェックを付けてインポートしたり、付けずにインポートしたシートを準備するとわかりやすいです。

【チェック有】(テキストを数値などに変換する)

チェックを付けてインポートしたデータは下図のようになります。

個人コードは元々、7桁の値でしたが、数値に見えるため変換されて、先頭の2桁が消えてしまっています。

年齢の部分は先頭に「0」が無いので問題ありませんが、同じく数値に変換されています。

電話番号、郵便番号は、見た目に数字が入っていますが、先頭「0」は消えていません。文字列として認識されているようです。

このように、「テキストを数値、日付、数式に変換する」にチェックを入れた状態でインポートすると、桁が変わってします問題が発生します。

【チェック無】(一切変換しない)

チェックを外してインポートしたデータは下図のようになります。

全てのデータが左寄せで表示されていますね。

個人コードも7桁のままインポートされています。

つまり、データの値を一切変換せずにそのまま取り込んでいる形になります。

エクセルでいうところの、文字列として取り込んだときと同じような状態です。

そのかわり、年齢など、数値で扱った方が良さそうなものも、数値に変換されていないので注意してください。

表示形式の確認

変換された場合の表示形式を確認してみましょう。

確認したいセルを選択した状態で、

メニューバーの「表示形式」→「数字」を選択すると、

「自動」にチェックが入っていることがわかると思います。

ほとんどの取り込まれたデータは「自動」の扱いになっています。

それでは、変換された生年月日のセルを選択してもう一度確認してみましょう。

「自動」にはチェックが入っていません。

一番下から2番目にある「カスタム日時」を選択してみてください。

下図のような画面が表示されます。

スプレッドでの日付形式は、「yyyy/mm/dd」

つまり、西暦4桁、月2桁、日2桁、月日が一桁の時は頭に「0」を付ける。

というのが基本となります。

しかし、今回のデータでは、月日の頭に「0」が無いデータ

(1月だと1、5日だと5 → つまり1/5という値)

のため、カスタマイズされた日付形式という認識をされています。

「yyyy/m/d」という形式になっているということになります。

まとめ

csvファイルのインポートは、ファイルメニューのインポートから。

エクセルのデータの取り込みとはメニューの位置が違うので、覚えておきましょう。

そして、データの取り込みは、そのまま取り込んでも問題ないデータなら良いですが、

何らかのコードのような値で、先頭に「0」があるデータを取り込むときは、「テキストを数値、日付、数式に変換する」のチェックを外して取り込むことをオススメします。

桁が変わってしまうので、データとして使い物にならなくなります。

そのかわり、全てが文字列データのような扱いになるので、日時や数値として扱いたいデータは、インポートした後に表示形式を変更して使うと良いでしょう。

コメント