CSVファイルをエクセルで開くと、「番地」(”24-10-1″等)が「日付」(”2024/10/01″等)に変換されて読み込まれてしまう
エクセルでCSVを読み込むと、勝手にデータ型が判断されて、「日付」と判断された文字が日付型にとして表示されてしまいます。
「00001」が「1」になってしまう、という場合もエクセルが勝手に「数値型」と判断してしまっていることが原因です。同様の操作で対処できます。
対処方法としまして、下記の方法があります。
■方法1:エクセルで「データの取得」、「テキストまたはCSVから」の機能を利用して、列の型を「文字列」として読み込む
エクセル上で加工/利用してていきたい場合は、方法1となります。
または、
■方法2:エクセルとは別のフリーソフトでCSVを読み込む。
他システムへの連携用など、編集後もCSV形式のまま利用する場合は、方法2が安全です。(エクセルのような、勝手な値変換が発生しにくい為)
■方法1:エクセルで「データの取得」、「テキストまたはCSVから」の機能を利用して、列の型を「文字列」として読み込む
①エクセルのメニュー「テキストまたはCSVから」を選択します。
②CSVファイルを選択して「インポート」ボタンを押します。
③CSVの内容が表示されますので、[データの変換]ボタンを押します。
(エクセルのバージョンよっては下記画面が表示されず、「テキストファイルウィザート」が表示されます。
「テキストファイルウィザート」で設定する場合でも「エクセルが勝手にデータ型を日付型で判断しているから、手動でテキスト型に指定しなおす」という、根本の操作意図は同様となります。)
④「PowerQueryエディター」画面が表示されます。番地列(「番地」のように変換されてしまう列)を確認すると、日付になってしまっています。
⑤番地列をクリックして、メニューの「データ型:日付▼」となっている欄で、「テキスト」を選択します。
⑥「列タイプの変更」という画面が表示されたら「現z内のものを置換」を選択してください。
⑦番地列の値が元の値のままになります。
⑧その他の列も、意図しない値に変換されてしまう列があったら、同様の手順でデータ型を「テキスト」に変更してください。
⑨メニューの「閉じて読み込む」を選択してください。
⑩エクセルのシートにCSVの内容が表示されます。番地列が正常に元の値で表示されます。
(この操作方法で読み込むと、タイトル列にフィルタが設定され、1行毎に行の背景色が変わります。)
方法2:エクセルとは別のフリーソフトを利用する。
WEBで「CSV 編集 フリーソフト」等で検索すると、いろいろなソフトが紹介されます。
「Cassava Editor」等、シンプルなフリーソフトもあるようです。
※固有のソフトの利用の推奨ではなく、あくまで例となります。自己責任でご利用をお願いいたします。
「エクセルで編集して、エクセルファイルとして保存/利用していきたい」ということではなく、他システムへのデータ連携用に「CSVをそのまま表示/編集して、そのままCSVファイルとして保存して利用したい」という場合には、フリーソフトのほうが向いている場合があります。(エクセルが勝手に値を変換しない為)
上記でも解決されない場合、お手数ですが、サポートセンターへお電話またはメール にてご連絡ください。
TEL:050-5213-2223(平日10:00~17:00)
MAIL:sp@cybercube.co.jp