取引先から届いたCSVをExcelで開いたら、画面が記号だらけで読めない….。
以前の私も、数千行の在庫データが一瞬で意味不明な文字の羅列に変わり、冷や汗をかいた経験があります。
実はこれ、Excelの故障ではありません。
「文字コードのズレ」という設定の不一致が原因で、正しい手順を知るだけで1分以内に解決できます。
この記事では、ExcelでCSVが文字化けする原因と、UTF-8ファイルを正しく開く手順を図解つきで解説します。
どんなCSVが届いてもパニックにならず、正確にデータを扱えるようになることがゴールです。
文字化けの正体は「UTF-8」と「Shift-JIS」のズレ
結論から言います。ExcelでCSVが文字化けする最大の原因は「文字コード(もじこーど)の不一致」です。
文字コードとは、コンピューターが文字を数字に変換するための”辞書”のようなものです。
この辞書が送り手と受け手でズレていると、文字が正しく表示されません。
現在のWebサービスやクラウドツールは、世界標準の「UTF-8(ユーティーエフエイト)」でデータを出力します。
一方、日本のWindows版Excelは長年の慣習から「Shift-JIS(シフトジス)」を標準として読み込もうとします。
この「辞書の食い違い」が、文字化けの正体です。
なぜCSVをダブルクリックすると文字化けするのか
「普通に開いているだけなのに…」と感じるかもしれません。
ところがダブルクリックという操作自体が、文字化けを招く最大の落とし穴になっています。
Excelが「Shift-JIS前提」で読み込もうとする
日本語版Excelは、CSVを開く際に「これはShift-JIS形式だろう」と決め打ちして処理します。
現在のWebサービスの出力ほぼすべてがUTF-8のため、この判定が外れて文字が崩れます。
BOMの有無による読み取りエラー
BOM(バイトオーダーマーク)とは、ファイルの先頭に仕込まれた「これはUTF-8です」という識別信号です。
BOMなしのUTF-8ファイルはExcelに判別できず、結果として文字化けが発生します。
意外な盲点:「環境依存文字」が周囲の文字まで壊す
あまり知られていない落とし穴があります。
顧客名簿などのデータに「髙(はしごだか)」や「﨑(たつさき)」といった環境依存文字が混ざっていると、その文字の周辺まで巻き込んで文字化けが広がることがあります。
これは文字コードの違いだけでなく、「扱える文字の種類が根本的に異なる」ことが原因です。
Shift-JISは収録できる文字数がUTF-8より大幅に少ないため、範囲外の文字が来ると周囲ごと崩壊してしまいます。
Excelの重複削除がうまくいかない場合も、この「文字の型の不一致」が影響していることがあります。
あわせてこちらの記事も参考にしてみてください。
→ Excel重複削除できない原因と直し方|消えない・認識されない症状を逆引き解説
ExcelでCSVの文字化けを直す最短手順
解決の鉄則は「ダブルクリックで開かない」です。
代わりに「データを取り込む」操作を使います。Excelに標準搭載されている機能だけで完結します。
手順① 新しい空白のExcelブックを開く
文字化けしたファイルを閉じた状態で、空のExcelを起動してください。
「外からデータを持ってくる」発想へ切り替えることが大切です。
手順② 「データ」タブから「テキストまたはCSVから」を選択
上部リボンの「データ」タブをクリックします。
「データの取得」または「テキストまたはCSVから」を選び、対象ファイルを指定してください。
手順③ 「65001: Unicode (UTF-8)」に変更する ★ここが最重要
プレビュー画面が開いたら、左上にある「元のファイル」の項目を確認します。
「932: 日本語 (Shift-JIS)」になっていたら、ドロップダウンで「65001: Unicode (UTF-8)」に切り替えます。
画面の文字が正しい日本語に変わったことを確認してください。
手順④ プレビューを確認して「読み込み」をクリック
文字が正しく表示されていれば、「読み込み」ボタンで取り込み完了です。
Excelシートにデータが正常に展開されます。
Power Query経由だと「数値化け」も同時に防げる
上記の手順で取り込むと、文字化けが直るだけでなく別の問題も防げます。
よくある二次被害として、
- 電話番号の先頭「0」が消える(数値として認識されるため)
- 日付が「44927」のようなシリアル値に化ける
- 郵便番号の先頭ゼロが欠落する
といった「数値化け」があります。
Power Query(パワークエリ)経由で取り込むと、列ごとのデータ型を手動で指定できます。
電話番号欄を「テキスト型」に固定すれば、ゼロ消えは完全に防止できます。
当ブログの実務検証では、メモ帳で開き直して保存し直す方法に比べ、Power Query経由のほうがデータの原形を保てる確率が大幅に高いことを確認しています。
特に顧客番号・商品コードなど「0始まり」のデータが多い場合は、必ずこの方法を標準にすることをお勧めします。
同様に、Excelのドロップダウンリストが正しく動かない場合も「データ型の不一致」が原因であるケースが少なくありません。
→ Excelドロップダウンリストが反映されない原因と直し方|症状別逆引き解説
文字化けを再発させない保存形式の選び方
正しく開けたデータも、保存形式を間違えると次回また文字化けします。
用途に合わせて以下のように使い分けましょう。
| 用途 | 保存形式 | ポイント |
|---|---|---|
| 次もExcelで開く予定 | CSV UTF-8(BOM付き) | 「名前を付けて保存」→「CSV UTF-8 (コンマ区切り) (*.csv)」 |
| 古い会計ソフトへアップロード | Shift-JIS(通常のCSV) | 「CSV (コンマ区切り) (*.csv)」を選択 |
| WebサービスへAPI連携 | UTF-8(BOMなし) | メモ帳で「名前を付けて保存」→エンコード「UTF-8」で出力 |
相手のシステムが求める文字コードを事前に確認することが、トラブル回避の鉄則です。
ちなみに、Excelで共同編集中にロックエラーが出る場合は、ファイル形式や保存先が影響していることがあります。
→ Excel共同編集ロックが解除されない!使用中エラーの原因と強制終了
まとめ:CSV文字化けは「データ取り込み」で解決できる
ExcelでCSVが文字化けする原因は、ソフトの不具合ではありません。
「UTF-8とShift-JISという2つの辞書のズレ」が唯一の原因です。
- CSVをダブルクリックで開く習慣をやめる
- 「データ」タブのインポート機能を使い、「65001: UTF-8」を指定する
- Power Query経由にすると電話番号のゼロ消えなど二次被害も防げる
- 保存時は用途に合わせてUTF-8(BOM付き)かShift-JISを選ぶ
正しい取り込み手順は一度覚えれば一生使えます。
文字化けに悩む時間を、本来のデータ分析や資料作成に充てられるようになれば幸いです。

