ExcelでCSVを開くと文字化けする時の直し方
CSVはただのテキストなので、Excelはどの文字コードか推測するしかありません。外れると日本語や中国語、アクセント付き文字が意味不明な文字になります。原因と直し方を紹介します。
なぜ文字化けするのか
CSVファイルには文字コードが書かれていません。WindowsのExcelは、ファイルの先頭にUTF-8のBOMがない限り、システムの従来の文字コード(日本語ならShift-JIS、繁体字ならBig5、簡体字ならGBK)だと考えることが多く、BOMのないUTF-8ファイルや、別の環境で作ったBig5ファイルは誤った文字で表示されます。
直し方1:.xlsxに変換する
「CSVをExcelに変換」でCSVを開きます。文字コードは自動判定され(UTF-8、次にBig5・GBK・Shift-JIS・EUC-KR)、プレビューがおかしければ別の文字コードを選べます。.xlsxは必ずExcelが正しく読める形で文字を保存し、変換はブラウザ内で行われます。
直し方2:Excelで正しく取り込む
Excelで「データ › テキストまたはCSVから」を選び、読み込む前のプレビューでファイルの元の文字コード(65001:Unicode UTF-8やShift-JISなど)を選びます。自分でデータを保存するときは「CSV UTF-8(コンマ区切り)」を選ぶと他のソフトでも正しく読めます。
先頭の0と長い数字
Excelは先頭の0を消し(007が7に)、15桁を超える数字を指数表記にして16桁目以降を失います。ID、電話番号、カード番号のような数字は文字列のままにしておくべきです。「CSVをExcelに変換」は、こうした値を文字列で保持し、通常の数値は数値のままにします。
区切り文字と引用符
国によってはコンマの代わりにセミコロンを使い、コンマや改行を含むセルは引用符で囲む必要があります。変換ツールはコンマ・セミコロン・タブ・縦線の区切りを検出し、引用符つきのセルも扱えます。
このガイドで使うツール
よくある質問
ExcelでCSVが文字化けするのはなぜ?
Excelが文字コードを誤判定しています。.xlsxに変換し、プレビューで正しい文字コードを選んでください。
CSVはどの文字コードで保存すべき?
UTF-8が最も安全です。Excelでは「CSV UTF-8(コンマ区切り)」を選びます。
先頭の0は残りますか?
はい。007や0912345678のような値は文字列として残ります。
ファイルはアップロードされますか?
いいえ。ブラウザ内で変換します。