エクセルCSVデータが勝手に変わるのを防ぐ 文字列読み込み法

CSVファイルをエクセルで開いたときに、次のように元のデータが変わってしまうことがあります。

  • 最初の0が消えてしまう(例:「00001」→「1」)
  • 括弧付きの数がマイナスの数になってしまう(例:「(1)」→「-1」)
  • 日付データが「年/月/日」の書式になる(例:「2016-6-1」→「2016/6/1」)
  • 「年/月」という形のデータが「英語の月名-年の下2桁」の書式になる(例:「2016/6」→「Jun-16」)
  • 住所の丁目・番・号が、日付に書き換えられてしまう(例:「1-2-3」→「2001/2/3」)

このようなことが起きる原因は、エクセルが勝手に、

  • 数っぽい見た目のものは、数として取り扱ってしまう
  • 日付っぽい見た目のものは、日付として取り扱い適当に書式を設定しまう

ところにあります。
→参考:エクセル入力で、勝手に変な日付・数字に変換されるデータ一覧

csvファイルをそのままの形で取り込む3つの方法

次のようなファイルをエクセルで取り込むことを考えて見ます。

00001,2016-6-1,1-2-3,(1),"2016-6-1",2016/6,1
00002,2016-5-31,2-3-4,(2000),"2016-5-31",2016/5,2

これを普通にエクセルで取り込むと、一番右の列を除き、元のデータと違う内容になってしまいます。

csvmojiretsu_1_0

このように、勝手に内容が変わるのを防ぐためには、次の3つの方法があります。

「外部データの取り込み」を使って取り込む

1.外部データの取り込み

リボンの「データ」→「外部データの取り込み(テキストファイル)」をクリックする

csvmojiretsu_1_1
2.カンマ区切りデータとして取り込み

「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択し、「次へ」をクリックする。

csvmojiretsu_1_2

区切り文字として「カンマ」を選択し、「次へ」をクリックする。

csvmojiretsu_1_3
3.列のデータ形式に「文字列」を指定

勝手に変換をされたくない列の表示形式に「文字列」を指定し「完了」を押します。

csvmojiretsu_1_4
4.データを取り込む「セル」を選択

データを取り込みたいセルを選択します。

csvmojiretsu_1_5

これで、CSVデータをそのままの内容で取り込むことができます。

csvmojiretsu_1_6

拡張子を「.txt」に変更して開く

拡張子を「.csv」ではなく「.txt」としてからエクセルで開くことで、文字列として取り込むことができます。

1.拡張子を「.txt」に変更

エクスプローラーなどを使って拡張子を「.txt」に変更します。
※もし、拡張子を表示する設定にしていない場合には、Windowsの設定を変更して拡張子を表示させてください

2.エクセルから開く

あとは、普通通りエクセルの「ファイルを開く」画面からファイルを開きます。

まず、メニューから
「ファイル」→「開く」→「コンピュータ-」を選び、フォルダを選択します。

csvmojiretsu_1_8

次に、開きたいファイルを選択します。
このとき、右下のファイルの種類を選択する欄で「テキストファイル」を選択しておくと、ファイルを簡単に絞り込めます。

csvmojiretsu_1_9
3.カンマ区切りデータとして取り込み

「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択し、「次へ」をクリックする。

csvmojiretsu_1_2

区切り文字として「カンマ」を選択し、「次へ」をクリックする。

csvmojiretsu_1_3
4.列のデータ形式に「文字列」を指定

勝手に変換をされたくない列の表示形式に「文字列」を指定し「完了」を押します。

csvmojiretsu_1_4

これで、CSVデータをそのままの内容で取り込むことができます。

csvmojiretsu_1_6

テキストエディタで開きエクセルにコピー貼り付け

もう一つの方法として、テキストエディタでCSVファイルを開いたうえで、そのデータをエクセルにコピー・貼り付けする方法もあります。

1.メモ帳などのテキストエディタで開きます

エクスプローラーの「プログラムから開く」の機能を使って、メモ帳などのテキストエディタでCSVファイルを開きます。

csvmojiretsu_1_10
2.全てのデータをコピー・貼り付けする

メモ帳で「Ctrl」を押しながら「A」を押して全てのデータを選択します。

csvmojiretsu_1_11

そして、そのままエクセルに貼り付けます。

csvmojiretsu_1_12

この段階では、A列にカンマ区切りデータが入力された状態になっています。

3.リボンから区切り位置を選択

リボンから「データ」→「区切り位置」を選択します。

csvmojiretsu_1_13
4.カンマ区切りデータとして取り込み

「カンマやタブなどの区切り文字によってフィールドごとに区切られたデータ」を選択し、「次へ」をクリックする。

csvmojiretsu_1_2

区切り文字として「カンマ」を選択し、「次へ」をクリックする。

csvmojiretsu_1_3
5.列のデータ形式に「文字列」を指定

勝手に変換をされたくない列の表示形式に「文字列」を指定し「完了」を押します。

csvmojiretsu_1_4

これで、CSVデータをそのままの内容で取り込むことができます。

csvmojiretsu_1_6

まとめ

エクセルの標準機能で、CSVファイルの内容が勝手に変わらないように取り込むためには、一手間かける必要があります。
もし、この業務負荷が耐えられないということであればマクロを組みましょう。

超簡単にCSVファイルを取り込めるVBAマクロ

超簡単にCSVファイルを取り込めるVBAのマクロを作成しました。

ぜひ、お試しください!

エクセル基礎講座 「無料」動画マニュアル

「経理事務のためのエクセル基礎講座(初級編)」(動画マニュアル 総収録時間162分)を無料プレゼント中です!

このマニュアルで解説していることを一通り学べば、経理事務を行う上で最低限必要となる知識が得られます。

ご登録者の方には、合わせて、公認会計士が実体験を通して身に付けたエクセルを使う技をメールにてお伝えしていきます!

無料動画講座 登録フォーム

※ご登録頂いたメールアドレスに、エクセルを使いこなすための情報を配信するメールセミナー「エクセル倍速講座」も合わせて配信させていただきます。