ExcelはCSVファイルを開く際に自動的に形式を変換する仕様となっています。例えば、数字だけの項目は数値として取り込み、前にあるゼロを消してしまいます。これを文字列として取り込むことで、変換することを防ぐ方法を説明します。
CSVファイルについて
CSVとは「comma-separated values」の略で、カンマで区切られたテキスト形式のファイルのことをいいます。
CSVをExcelで開くと、例えば相手先コードの「000001」という[0]から始まるデータがある場合、[0]が消えて「1」と変換します。
- 各項目の読取りが数値として認識されてCSVの情報が表示されません。
- 自動変換の例としては以下のようなものあります。
自動変換の例
CSVの値
変換後
数字のみの項目で、最初のゼロが消える
0001
1
括弧つきの数字がマイナスの値になる
(1)
-1
和暦が西暦/月/日になる
平成31年5月1日
2019/5/1
年月「2016/1」が「JAN-16」のようになる
2016/1
JAN-16
(c)がコピーライトマークになる
(c)
©︎
数字-数字が日付になる
5-1
5月1日
桁数の多い数字文字列が、指数表記になる
1111111111
1.11111E+11
自動変換をさせないエクセルでの開き方
- CSVダウンロード ボタンを押下して、CSVファイルをローカルPCに保存します。この時、クリックしてそのままExcelで開かないようにしてください。
- Excelを起動し、空白のシートを開きます。
データ>テキストファイル>取り込みたいCSVファイルを選択します。
※Excel 2016以降は、データ>データの取得>テキストから(レガシ)で開けます
※「テキストから(レガシ)」が表示されない場合は、以下を行ってください。
1.Excelを新規に空白のブックで開き、[ファイル]を選択します。
3.[データ]>[レガシ データ インポート ウィザードの表示]>[テキストから(レガシ)]にチェックを入れ、[OK]をクリックします。
- 「データのファイル形式を選択してください」の「カンマやタブなどの区切り文字に……」選択します。
- 次に「区切り文字」の「カンマ」にチェックを入れます。
- データのプレビューで、文字列にしたい列を選択します。その後、「列のデータ形式」から「文字列」を選択します。(今回は全ての列を文字列にするため、全てを範囲指定しています)
- CSVのデータを表示する場所を指定して、OKをクリックします。
以上でCSVファイルを文字列で取り込むことが出来ます。