取引先やWebサービスから届いたCSVファイルを開いたら、日本語が読めない記号だらけになっていた。そんな経験はありませんか?
この文字化けには明確な原因があり、正しい手順さえ知っていれば数分で解決できます。この記事では、ExcelでCSVが文字化けする原因と直し方を、電話番号の0が消える「0落ち」問題まで含めて解説していきましょう。
筆者もクライアントから届いたCSVを開くたびに文字化けに悩まされた時期がありましたが、原因を理解してからは開く前の一手間だけで解決できるようになっています。
なぜCSVが文字化けするのか
対処法を覚える前に、まず原因を理解しておきましょう。仕組みが分かれば、似たトラブルにも自分で対応できるようになるはずです。
ExcelはデフォルトでShift-JISとして読み込む仕様
ExcelはCSVをダブルクリックで開くと、「Shift-JIS」という文字コードを前提に読み込みます。
しかし、Webサービスや業務システムが出力するCSVの多くは、世界標準の「UTF-8」で保存されているのが実情でしょう。
この文字コードのズレこそが、文字化けの直接的な原因になっています。
「BOM付きUTF-8」と「BOMなしUTF-8」の違い
UTF-8には2種類あり、ファイルの先頭に「これはUTF-8です」という短い識別子(BOM)が付いているかどうかが異なります。
BOM付きUTF-8ならダブルクリックだけで正常に表示されますが、システムが自動出力するCSVは「BOMなしUTF-8」が大半でしょう。
Excelがファイルの文字コードを判定できず、Shift-JISとして無理やり読み込んでしまうわけです。
文字化けをその場で直す2つの方法
今手元にある文字化けしたCSVを、今すぐ正しく表示させたい場合の手順を2つご紹介します。状況に応じて使い分けてみてください。
「データ」タブからインポートして文字コードを指定する
最もオーソドックスで確実な方法です。CSVをダブルクリックせず、Excelの「データ」タブから読み込みます。
プレビュー画面の「元のファイル」欄が「932: 日本語(シフトJIS)」になっていたら、「65001: Unicode(UTF-8)」に変更してから読み込んでください。
同じCSVを毎月更新・再取り込みする場合は、「読み込み」ではなく「データの変換」を選ぶと便利でしょう。
Power Queryエディターを経由しておけば、次回以降は「更新」ボタン一つで最新データを取り込めるようになります。
メモ帳でBOM付きUTF-8に変換する
CSVを右クリック→「プログラムから開く」→「メモ帳」を選び、日本語が正しく読める状態を確認します。そのまま「名前を付けて保存」で文字コードを「UTF-8(BOM付き)」にして保存し直すだけの方法です。
一度BOMを付与すれば、以降はダブルクリックだけで正常に開けるようになります。
ただし、メモ帳で開いた時点ですでに文字化けして見えている場合は、そのまま上書き保存しないでください。
文字化け状態のまま保存すると元のデータが完全に失われてしまうため、元ファイルは必ず別の場所にコピーしておきましょう。
電話番号や日付が崩れる「0落ち・指数表記」問題の直し方
文字化けとは別に、CSVを開くと数値や日付が勝手に変換されてしまう現象もよく起こります。
電話番号の先頭の0が消えたり、長い商品コードが「1.23E+12」のような指数表記になったりするケースです。
なぜ0が消えたり日付に変換されたりするのか
Excelは読み込んだデータを自動判定し、数字だけの文字列を「数値」や「日付」として解釈する仕様になっています。
| CSVの元データ | Excelでの表示結果 | 原因 |
|---|---|---|
| 09012345678 | 9012345678 | 先頭の0が削除される(0落ち) |
| 001 | 1 | 数値として解釈される |
| 1-2-3 | 2001/2/3 | 日付として解釈される |
| 123456789012 | 1.23E+11 | 指数表記に変換される |
文字化けとは原因が異なりますが、CSV取り込み時に一緒に起こりやすいトラブルでしょう。
Power Queryエディターで列のデータ型を「テキスト」に固定する
「データの変換」からPower Queryエディターを開き、0を残したい列を選択してください。
「データ型」を「テキスト」に変更し、「現在のものを置換」を選びます。最後に画面左上の「閉じて読み込む」をクリックすれば、その列は文字列として正しく読み込まれます。
なお、一度消えてしまった先頭の0は後から書式を変更しても復元できません。必ず取り込みの段階でテキスト型に指定しておくことが重要です。
Microsoft 365の「自動データ変換」設定で0落ちを根本から防ぐ
Microsoft 365(サブスクリプション版)をお使いの場合、Excel側の設定で自動変換そのものをオフにできます。
一度設定すれば、以降はCSVをダブルクリックで開いても先頭の0が消えなくなります。
なお、この設定項目はMicrosoft 365のExcelで利用可能なもので、バージョンによっては表示されない場合があるため、見当たらない環境ではPower Query経由での取り込みをおすすめします。
文字化けを繰り返さないための予防策
毎回同じ手順を踏むのが面倒な方は、根本的な発生源を減らす工夫も検討してみましょう。
システム側でBOM付きUTF-8で出力してもらう
社内システムや取引先から定期的にCSVを受け取る場合は、出力側で「UTF-8(BOM付き)」形式にしてもらえないか相談してみるのも手です。
BOMが付いていれば、受け取る側はダブルクリックだけで正しく開けるようになります。相手側のシステム設定を変えるだけなので、依頼が通れば根本的な解決になるでしょう。
Googleスプレッドシートからエクスポートする場合の注意点
Googleスプレッドシートで「ファイル」→「ダウンロード」→「カンマ区切り形式(.csv)」を選ぶと、BOMなしUTF-8で出力される仕様です。
そのままExcelで開くと文字化けするため、ダウンロード後は本記事で紹介した「データ」タブからのインポート手順を経由するようにしてください。
Q&A【よくある疑問まとめ】
まとめ
ExcelでCSVが文字化けする主な原因は、Shift-JIS前提の読み込みとUTF-8のズレです。「データ」タブからのインポートか、メモ帳でのBOM付き変換で解決できます。
あわせて、電話番号の0落ちや指数表記といったトラブルも起こりやすいため、Power Queryでのデータ型指定やMicrosoft 365の「自動データ変換」設定もセットで覚えておくと安心でしょう。
文字化けがExcel以外のアプリでも起きている場合は、Windowsフォントが表示されない・文字化けの原因と直し方【症状別】もあわせてご確認ください。メールの文字化けでお困りの方は、Outlookの文字化けの原因と直し方|新旧両対応【2026年版】が参考になるはずです。