CSVとは?

CSVとは Comma Separated Values の略で、シーエスブイと読みます。
CSVファイルとは、値をカンマ(,)で区切って書いたテキストファイルのことを指します。

CSV形式でデータを出力する機能、CSVファイルを取り込む機能がサポートされてるアプリケーションも多くあるため、アプリケーション間のデータのやり取りに使われることも多いです

CSVファイルの拡張子はCSVやTXT(○○○○.CSVや○○○○.TXT)となる事が一般的ですが、アプリケーションによっては全く別の拡張子になる場合もあります。

ExcelでCSVファイルを扱う機会は増えている

販売管理システムや会計システムなど、基幹システムのデータをCSV形式で出力できるものが多く、また、郵便局の郵便番号データ、気象庁の過去の気象データなど、インターネット上からダウンロードできるCSVファイルタも増えており、CSVファイルをEXCELで加工できるようになると色々便利です。

今回は、CSVファイルとはそもそもどういったものなのか?
また、ExcelでCSVファイルを開く基本的な方法、よくあるトラブル対応について解説します。

エクセルセミナー

ファイルの拡張子は表示する設定に!

Windowsの標準設定ではファイルの種類を表す「拡張子」が表示されません。CSVファイルを扱う際は、以下の手順で拡張子を表示する設定にする事をお勧めします。

デスクトップよりマイコンピュータなどを起動し「表示」→「フォルダオプション」 または 「ツール」→「フォルダオプション」を開きます。
Windows Vista/7で「ツール」のメニューバーが無い場合はALTキーを一度押して下さい。
csv001

「表示」のタブを選択します。
csv002

登録されているファイルの拡張子は表示しない。のチェックを外し「OK」をクリックします。

Windows10の場合、「表示」のタブから「ファイル名拡張子」のチェックをONにして下さい。
csv003

メモ帳を使ってCSVファイルを作ってみる

言葉の説明だけではイメージしづらいので、メモ帳を使ってCSVファイルを作成しExcelで開いてみます。

メモ帳でCSVファイルを作る

メモ帳を起動します。Windows + R を押し、ファイル名を指定して実行のダイアログに、notepad と入力すると速いです。
csv014

適当に文字を入力してみます。
文字と文字をカンマ区切り、ENTERで行を変えて五十音を入力してみました。
csv004

「ファイル」→「名前を付けて保存」を選択します。
csv005

ファイル名を「五十音.CSV」と拡張子をCSVにし保存します。
csv006

作成したCSVファイルをEXCELで開く

保存したCSVファイルをExcelで開いてみます。カンマで区切られた値が、Excelでは各列の値になるのが理解頂けると思います。

csv007

ExcelでCSVファイルを開くには

CSVファイルをExcelで開くには(状況に応じて)幾つかあるのですが、それぞれメリット・デメリットがあるので解説します。

その1:手っ取り早くダブルクリックで開く(拡張子がCSVの場合)

拡張子がCSVの場合、Excelがインストールされているパソコンであれば、エクスプローラー上では通常以下図のようなアイコンになりますので、ダブルクリックするだけでExcelが起動し、CSVファイルを開く事ができます。

csv008

操作自身は簡単ですが、下図のように000001と入力されている商品コードがExcelで開くと数字1に変換され、頭のゼロが飛んでしまう不都合があります。

csv009

その2:テキストファイルウィザードを使って開く

CSVファイルを開くための「テキストファイルウィザード」は、「ファイル」→「開く」から行う場合と、「外部データ取り込み」から行う場合の2つの方法があります。

「ファイル」→「開く」からウィザードを起動する

  1. Excelを起動し、「ファイル」→「開く」を選択します。
  2. ファイルの種類を変更します。
  3. 拡張子が「txt」「prn」「csv」の場合、「テキストファイル(*.prn; *.txt; *.csv)」を選択します。それ以外の場合は「全てのファイル(*.*)」を選択します。
  4. テキストファイルウィザードが起動します。
    ※拡張子がCSVの場合、「開く」からではテキストファイルウィザードは起動しないので注意して下さい。

【手順】テキストファイルウィザード

元データの形式を選択します。CSVファイルの場合「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択します。
csv010

フィールドの区切り文字を指定します。CSVファイルの場合、通常「カンマ」にチェックを入れます。
csv011

データ形式を指定します。000001を1にしたくない場合、データ形式を「文字列」にします。
csv012

以上の操作でExcelで開く事ができます。

csv013

00001の頭0が飛ばず、000001として開く事ができました。これはデータ形式を文字列に設定したからです。

※古いバージョンの画面キャプチャですが、指定する箇所はかわりません。

このように、テキストファイルウィザードを使うと、任意にフィールドのデータ形式を指定できるので、柔軟に処理できる反面、繰り返し利用する場合では、毎回実行するのは手間です。

その3:外部データ取り込みを使う

Excel2007以降のバージョンを使っている場合、外部データ取り込みから行う事をオススメします。

手順は前述の「ファイル」→「開く」から行う場合とほぼ同じですが、以下の3点の面で「外部データ取り込み」の方が便利です。

  1. 既存シートの指定位置にCSVファイルのデータを取り込む事ができる点
  2. 拡張子がCSVでも、テキスト変換ウィザード(テキストファイルウィザード)が起動する点
  3. 文字コードを変更できる点

外部データ取り込みは「データ」の「テキストファイル」から

外部データの取り込みでCSVファイルを開く時は、「データ」の「テキストファイル」から行います。
csv015

【手順】テキストファイルウィザード

テキストファイルウィザードが起動します。
csv016

テキストファイルウィザードは、「ファイル」→「開く」からウィザードを起動する場合と同じですので、ここでの説明は省略します。

ファイルを開くと、外部データ取り込みとの違い

外部データ取り込みでは、ファイルを開くのではなく、現在開いているエクセルシートにCSVファイルのデータを取り込む形になり、取り込む位置を指定できるところが一番の違いです。

csv022

こんな事で困った時は

頭ゼロが飛んでしまったコード番号を元に戻したい!

CSVファイルをダブルクリックで開くと、お手軽に開く事ができる反面、数字だけのコード番号の頭ゼロが飛んでしまいます。

このような時は、TEXT関数を使ってゼロを付け加える方法も知っておくと便利です。

csv018

=TEXT(B1,"0000000")と、TEXT関数の第二引数である、表示形式を"0000000"と、ダブルクォーテーションで囲んで0を7個入力すると、7桁のコード番号に戻す事ができます。足りない桁数をゼロで補完してくれます。

CSVファイルを開いたら文字化けしていた時は?

インターネット上からダウンロードしたCSVファイルを開くと、稀に文字化けする場合があります。(Googleアナリティクスから出力したCSVファイルは確実に文字化けします。)

csv019

これは文字コードの違いによって起きる問題で、メモ帳を使ってダウンロードしたCSVファイルの文字コードを変更することで対応できます。

ダウンロードしたCSVファイルを右クリックし、メモ帳で開きます。
csv027

開いたら、そのまま「ファイル」「名前を付けて保存」を実行します。
csv028

文字コードをANSIに変更して上書き保存します。
csv029

そして、上書き保存したCSVファイルを開いてみると・・・。

文字化けすること無く開く事ができました。
csv031

外部データ取り込みから「テキストファイルウィザード」を起動し、文字コードを Unicode(UTF-8) を選択する事で対応できますが、実は確実に解決できる訳ではありません。
csv020

例えば、Googleアナリティクで出力したCSVファイルを、上記手順で(文字コードを変えて)取り込もうとしても、エラーメッセージが出て(データの一部しか)取り込む事ができません。
csv032

メモ帳や秀丸などのテキストエディタを使って、文字コードを変更するのが確実な方法です。(私は秀丸を使う事が多いです。)

秀丸などのエディタでは、文字コードは Shift_JIS にして下さい。
csv033

最後に

ExcelでCSVファイルを開くときの要点を整理すると

  • CSVは値をカンマと改行で区切ったもの
  • エクセルで使う時は、ダブルクリックで開くと手っ取り早い
  • コード番号の頭ゼロを飛ばしたくない時は、外部データ取り込みから、テキストファイルウィザードで行う。もしくはTEXT関数を使って頭ゼロを付け足す。
  • ネットからダウンロードしたものは、文字コードの違いに気をつける

このような感じでしょうか。

基幹システムから出力したCSVファイルを、ピボットテーブルや計算式を設定したシートに取り込めば、定例集計の効率化にも繋がります。
設定方法を整理しましたので、あわせてお読みいただければ幸いです。

エクセルセミナー

また、基幹システムから出力したCSVファイルを扱う機会が多いなら、どんと来いCSV for Excel の利用を検討してみて下さい。
毎月CSVファイルから集計しなければならない業務がある場合など、繰り返し利用する機会がある時に利用していただくと業務効率化が期待できます。
私がExcel/VBAで作ったツールで、無料でお使いいただけます。