• ベストアンサー

CSVファイルをExcelで開いた時、ハイフンで結ばれた数字が日付に変換されてしまう。

お世話になります。 CSVファイルをExcelで開いた時に発生する問題についての質問です。 元のCSVファイルのデータは、5項目(5列分)あります。 その内、4項目については、氏名などの文字列なので、Excelで開いても 別段問題なく表示されるのですが、問題とする1列に入っている データが、ハイフンで結ばれた数字となっています。 実際の値は 1-2 や 2-3 や 6-4 などの値で、実は小学校の学年と クラスを表したものです。 よって、ハイフンの左側は学年である 1~6 が入り、右側にはクラスの 数字が入っています(1組から6組の絶対値 1~6)。 これらを Excel で開くと、この列がハイフンで結ばれているために 「日付と認識」されてしまい、1-2 の場合は 1月2日 という具合に 自動的に変換されて表示してしまいます。 これを自動変換させない方法はありますでしょうか? 該当データのトップに予め「'(アポストロフィー)」を付けて、文字列 として判断させようと試みたのですが、この方法だと、確かに日付変換 はされませんでしたが、アポストロフィーもそのまま表示されてしまい格好 が悪いです。「'1-2」といった具合です。 解決方法を教えてくださる方、宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • zap35
  • ベストアンサー率44% (1383/3079)
回答No.1

CSVファイルを単純に開くと、エクセルが勝手にデータ形式を判断してしまい、困ることがあります。2つ方法を書きます 1)CSVファイルの拡張子をTXTに変更してエクセルの「ファイル」→「開く」で開く 2)「データ」→「外部データの取り込み」→「データの取り込み」からCSVファイルを開く どちらの方法もデータ取り込みのウィザードが立ち上がります。 この中で各列のデータ形式を指定する画面がありますから、クラスの列は「文字列」を指定してください

umekino
質問者

お礼

ありがとうございます。 解決しました。

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

長々質問に書かなくても、有名な(質問が多い)問題。 データー外部データの取り込みー(略)-テキストファイルウイザード3/3 の画面で列(項目)ごとに書式を指定できる。 「データのプレビュー」のところで、項目(列)をクリックして(黒い背景になる)、右上部の「列のデータ形式」で「例えば「日付」を指定して仕舞い。

umekino
質問者

お礼

ありがとうございます。 解決しました。

回答No.2

元のデータを全く変えずにexcelで読む必要が出来る度にいちいち 処理するのであれば、zap35さんの回答通りウィザードを経由して 列ごとにデータ形式を明示する方法が唯一の解ですね。 しかし、元々は「学年」と「クラス」という、2つの異なる属性の データを安易にハイフンで結んで一つにまとめようとしたのが原因 ですから、ちゃんと2列に出力しておけば何の問題もなかったのだ と指摘しておきます。 ついでに、先頭にシングルクォーテーションってのはよく紹介され る手口ですが、ご自分でも経験された通りcsvなどの読み込みとは 相性が悪いです。一度セルを選択して編集状態にし確定しないと、 シングルクォーテーションが隠れませんね。そこで、「="1-2"」と いう形式を試してみてください。開く人に手間をかけさせられない 上に2列に分けると文句を言われる、なんて場合に有効です。

umekino
質問者

お礼

ありがとうございます。 解決しました。