TechBox

業務で使えそうな技術を紹介します。

【EXCEL】CSVを開くと文字の形式が変わってしまう問題の対処について

概要

CSVをexcelで開くと、文字の形式が変わってしまい、そのまま保存してしまうと保存前の値と異なってしまうことがあります。

参考例として、csvをメモ帳で確認してみましょう。
メモ帳を開いて、csvファイルをドラッグ&ドロップします。
f:id:hotkou:20180410150633p:plain
csvファイルは、カンマ区切りされています。

これをcsvファイルをそのままダブルクリックしてエクセルで開くと、次のようになります。
f:id:hotkou:20180410150746p:plain

ID、番号列の頭に0がついていましたが、消えてしまっていますね。
これはエクセルの標準機能で、csvを開くと自動的に0を取り除き、数字として認識されます。
※この時点ではまだ保存されていないため、実際のファイルのデータが書き換わっているわけではありませんが、上書き保存すると値が書き換わってしまいますのでご注意ください。
基本的にexcelでcsvファイルを開いて勝手に文字列を変換されてしまうのが都合が悪い場合は、ファイルからエクセルを起動させないでください。

文字列を変換せずにエクセルで開く方法を紹介します。

手順

スタートメニューより、excelを開きます。
f:id:hotkou:20180410152036p:plain


リボンメニュー【データ】>外部データ取り込みの【テキストファイル】をクリックし、対象のcsvファイルを開きます。
f:id:hotkou:20180410152125p:plain


そのまま【次へ】をクリックします。
f:id:hotkou:20180410152610p:plain

区切り文字を【カンマ】にチェックをいれて、列が区切られていることを確認し、【次へ】を選択します。
f:id:hotkou:20180410152723p:plain

サンプルのA列、B列は【0001】というようなデータをそのまま文字列として表示したいので、列のデータ形式を【文字列】に変更します。
他の列は問題なければ、そのままOKでかまいません。
f:id:hotkou:20180410153420p:plain

A1(一番左上)に貼り付けましょう。変更したい場合は任意の位置を指定します。
f:id:hotkou:20180410153203p:plain


成功すると、次のようになります。
f:id:hotkou:20180410153608p:plain

保存する場合

再度CSVで保存する場合はファイル>【名前を付けて保存】を選択します。
f:id:hotkou:20180410153925p:plain

ファイルの種類は【CSV】を選択し、保存すればOKです。
f:id:hotkou:20180410154018p:plain


以上です。