CSVをExcelで開いて日本語が文字化けした場合は、まず元ファイルを上書きせず、文字コードを指定して読み直す方法を試します。画面のフォントを変えるだけでは、読み込み時の文字コードの違いは解決できません。
この記事ではWindows版Excelのテキスト・CSV取り込みを中心に、UTF-8の確認、文字化けと先頭ゼロ消失の違い、別システムへ渡すときの保存方法を整理します。メニュー名はExcelの版によって異なります。
最初に「文字化け」と「データの自動変換」を分ける
| 症状 | 主に確認すること |
|---|---|
| 日本語が意味のない記号や別の文字になる | ファイルと読み込み側の文字コード |
| 00123が123になる | 列が数値として取り込まれているか |
| 番号が日付や指数表記になる | 列のデータ型・自動変換 |
| 全項目が1列に入る | カンマ・タブなどの区切り文字 |
| 改行で列や行がずれる | 引用符や改行を含むCSVの形式 |
文字コードを変えて日本語が直っても、商品コードの先頭ゼロまで戻るとは限りません。表示の問題をまとめて扱わず、別々に確認すると原因を絞れます。
1.元のCSVを残し、Excelの取り込み機能から開く
- 元のCSVをコピーし、作業用のファイルを用意する。
- Excelで新しいブックを開く。
- 「データ」タブから「テキストまたはCSVから」を選ぶ。環境によっては「データの取得」内にあります。
- 対象CSVを指定し、取り込み前のプレビューを確認する。
ダブルクリックで開くと、文字コードや列の扱いを十分に確認できないまま読み込まれることがあります。Microsoft公式のCSV取り込み手順でも、データタブから読み込む方法が案内されています。
2.文字コードと区切り文字をプレビューで確認する
出力元がUTF-8なら、取り込み画面の「元のファイル」などの項目でUTF-8を選びます。「65001: Unicode (UTF-8)」のように表示される場合があります。日本語が正常に読めるか、複数の行を確認してください。
古い業務システムなどでは、Shift_JIS系の文字コードで出力されることもあります。ファイル名や拡張子だけでは判別できないため、出力元の仕様やエクスポート画面を確認するのが確実です。合わない文字コードを選んで保存し直す操作は避けましょう。
日本語が直っても1列にまとまる場合は、区切り文字が正しいかを確認します。通常のCSVならカンマですが、タブやセミコロン区切りのデータもあります。プレビューの列数と見出しが想定どおりになる設定を選びます。
3.番号やコードは、読み込み前に文字列へ設定する
郵便番号、電話番号、会員番号、商品コードは、数字だけでも計算用の数値とは限りません。00123というコードの先頭ゼロを保持したい場合は、対象列を文字列として取り込みます。
Power Queryを使う画面では「データの変換」から列の型を確認します。自動的な型変更のステップがすでに数値へ変換している場合は、そのステップを見直し、変換前の値から文字列として読み込んでください。ゼロが消えた後の数値を文字列へ変えても、元の桁数は自動では復元しません。
読み込み後の確認用に、先頭ゼロのある行、長い番号、日本語を含む行を一つずつ選んでおくと比較しやすくなります。桁数の長い識別子も、元CSVとの一致を確認します。
UTF-8なのにダブルクリックで文字化けするのはなぜ?
UTF-8には、先頭にBOMという識別用の情報が付くファイルと付かないファイルがあります。Microsoftは、BOM付きUTF-8のCSVと、それ以外の取り込み方法を案内しています。
同じUTF-8でもExcelが自動判定できる条件は同一ではありません。毎回ダブルクリックで開く運用に頼らず、文字コードを指定する取り込み手順を共有すると、受け渡し時の確認がしやすくなります。
ExcelからCSVを保存するときに確認すること
受け渡し先がUTF-8を指定している場合は、「名前を付けて保存」で「CSV UTF-8(コンマ区切り)」など対応する形式を選びます。受け渡し先に別の文字コードやBOMの有無の指定があれば、その仕様を優先してください。
CSVはExcelブックのすべての機能を保持する形式ではありません。複数シート、書式、数式を残す作業用ファイルは.xlsxで保存し、提出用のCSVを別名で作ると管理しやすくなります。どのシートをCSVにしたかも確認しましょう。
保存したファイルは、再度文字コードを指定して開き、元の値と照合します。提出先システムへ取り込む場合は、可能なら少量の確認用データで、日本語・先頭ゼロ・改行を含む項目を試します。
上書きしてしまった場合の考え方
元の文字データがファイル内に残っているなら、正しい文字コードで読み直せる可能性があります。一方で、文字が「?」などへ置換された状態で保存され、元の情報が失われた場合は、文字コードの切り替えだけでは戻せません。
その場合は出力元から再エクスポートするか、バックアップや変更前のファイルを探します。最初のCSVを保持しておくと、文字コードとデータ型を変えて何度でもやり直せます。
