CSV が Excel で文字化けするときの直し方
多くの場合、原因は Excel が CSV の文字コードを取り違えることです。文字化けの見た目から原因を見分ける方法と、Excel・Mac・Google スプレッドシートそれぞれの直し方をまとめました。
最終更新:
CSV を Excel で開くと文字化けする原因の多くは、BOM の付いていない UTF-8 の CSV を、Excel が Shift_JIS として読み込んでしまうことです。いちばん手早い直し方は、CSV を UTF-8(BOM 付き) に変換してから開くことです。CSV 文字コード変換ツール なら、ファイルを選ぶだけで文字コードを判定し、Excel で文字化けしない形式に変換してダウンロードできます。変換はブラウザ内だけで行い、ファイルはアップロードされないので、顧客名簿のようなファイルにも安心して使えます。
この記事では、文字化けの見た目からわかる原因、Excel で正しく読み込む手順、保存するときの注意点、Mac や Google スプレッドシートでの対処法を順に説明します。Web ページやメールなど、CSV 以外の文字化けは 文字化けの直し方 にまとめています。
文字化けの見た目から原因を見分ける
同じ「文字化け」でも、どの文字コードを取り違えたかで見た目が違います。セルに表示されている文字を、次の表と見比べてください(例はどれも「氏名,住所,電話番号」という見出し行が化けたものです。3 つ目の例では、画面に表示されない文字を省いています)。
| 表示例 | 原因 | 起きやすい場面 |
|---|---|---|
| 豌丞錐,菴乗園,髮サ隧ア逡ェ蜿キ(見慣れない漢字が並ぶ) | UTF-8 の CSV を Shift_JIS として読んだ | Web サービスや Mac で作った CSV を、Windows の Excel でダブルクリックして開いた |
| ����,�Z��,�d�b�ԍ�(「�」だらけ) | Shift_JIS の CSV を UTF-8 として読んだ | Windows の Excel で作った CSV を、Mac の Numbers や Google スプレッドシートで開いた |
| æ°å,使‰€,電話番å·(「æ」「ã」などの記号だらけ) | UTF-8 の CSV を欧米向けの文字コードで読んだ | 英語版の Excel や海外製のソフトで開いた |
日本でよく見かけるのは 1 つ目のケースです。CSV のファイル自体は壊れておらず、Excel が読み込むときに文字コードを取り違えているだけなので、正しい文字コードで開き直せば元どおりに表示されます。
方法 1:CSV を UTF-8(BOM 付き)に変換する
ダブルクリックで開くたびに化けないようにするには、ファイルそのものを UTF-8(BOM 付き)にしておくのが確実です。BOM は、ファイルの先頭に付ける「このファイルは UTF-8 です」という目印(EF BB BF の 3 バイト)で、Excel はこれを見て UTF-8 として読み込みます。
- CSV 文字コード変換ツール を開きます。
- 「CSV ファイルを選択」を押し、文字化けする CSV を選びます。文字コードが自動で判定され、先頭 10 行がプレビューに表示されます。
- プレビューの日本語が正しく表示され、「変換後の文字コード」で「UTF-8(BOM 付き)」が選ばれていることを確認してから、「UTF-8(BOM 付き)でダウンロード」を押します。
- ダウンロードした「〇〇_utf8.csv」をダブルクリックすると、Excel で文字化けせずに開けます。
Windows の場合は、メモ帳でも同じことができます。CSV をメモ帳で開き、「ファイル」→「名前を付けて保存」で、画面下の「エンコード」を「UTF-8(BOM 付き)」にして保存してください。保存する前に、メモ帳で文字が正しく表示されていることを確認しておきましょう。ただし、メモ帳では大きなファイルを開くのに時間がかかります。
方法 2:Excel の「テキストまたは CSV から」で読み込む
ファイルを変換せずに、Excel 側で文字コードを指定して読み込む方法です。Windows 版の Microsoft 365 と Excel 2019 以降の手順で、バージョンによって項目名や配置が少し異なることがあります。Excel 2016 では、手順 2 が「データ」タブの「新しいクエリ」→「ファイルから」→「CSV から」になることがあります。
- Excel を起動し、「空白のブック」を開きます(CSV をダブルクリックして開くのではありません)。
- 「データ」タブの「データの取得と変換」グループにある「テキストまたは CSV から」をクリックします。
- 文字化けする CSV を選び、「インポート」をクリックします。
- プレビュー画面の左上にある「元のファイル」で文字コードを選びます。UTF-8 の CSV なら「65001: Unicode (UTF-8)」、Shift_JIS の CSV なら「932: 日本語 (シフト JIS)」です。プレビューの日本語が正しく表示されるほうを選んでください。
- 「読み込み」をクリックすると、新しいシートに表として読み込まれます。
郵便番号や電話番号の先頭の「0」を消したくない場合は、手順 4 の画面で「データ型検出」を「データ型を検出しない」にしてから読み込むと、すべての列が文字列のまま取り込まれます。
Windows 版の Excel 2007~2013 では、「データ」タブの「外部データの取り込み」→「テキストファイル」を選ぶと、テキストファイルウィザードが開きます。最初の画面の「元のファイル」で同じように文字コードを選び、次の画面で区切り文字に「コンマ」を選びます。先頭の「0」を残したい列は、最後の画面で列のデータ形式を「文字列」にしてから読み込んでください。
Excel で CSV を保存するときの注意
Excel で編集した表を CSV として保存するときは、「名前を付けて保存」の「ファイルの種類」で文字コードが決まります。
| ファイルの種類 | 保存される文字コード | 向いている用途 |
|---|---|---|
| CSV UTF-8(コンマ区切り)(*.csv) | UTF-8(BOM 付き) | Excel・Mac・Google スプレッドシートで開く、ほかの人に渡す |
| CSV(コンマ区切り)(*.csv) | Shift_JIS(日本語版 Windows の場合) | 取り込み先のシステムが Shift_JIS を指定している |
迷ったら「CSV UTF-8(コンマ区切り)」を選べば、Excel で再び開いたときに文字化けしません。この選択肢は Microsoft 365 や Excel 2019 以降にあります(Excel 2016 では更新の状況によってない場合があり、Excel 2013 以前にはありません)。ただし、会計ソフトや業務システムの中には Shift_JIS しか受け付けないものもあります。取り込み先のマニュアルで文字コードを確認し、Shift_JIS と書かれていれば「CSV(コンマ区切り)」で保存してください。すでにある CSV は、CSV 文字コード変換ツール で Shift_JIS にも変換できます。
なお、Shift_JIS には絵文字やアクセント付きの文字(é など)、「♡」などの一部の記号がないため、Shift_JIS で保存するとこれらは「?」になります。
Mac の Numbers・Google スプレッドシートで文字化けする場合
Windows の Excel で「CSV(コンマ区切り)」として保存した Shift_JIS の CSV を Mac の Numbers や Google スプレッドシートで開くと、文字コードが正しく認識されず、「�」だらけの文字化けになることがあります。
- Numbers で化ける:「フォーマット」サイドバーの「表」タブにある「読み込みの設定を調整」で、「テキストエンコーディング」を選び直し、「表をアップデート」をクリックします。うまくいかない場合は、CSV を CSV 文字コード変換ツール で UTF-8(BOM 付き)に変換してから開いてください。CSV を作る側で直せるなら、Windows の Excel で「CSV UTF-8(コンマ区切り)」として保存し直してもらうのが確実です。
- Google スプレッドシートで化ける:Shift_JIS の CSV を「ファイル」→「インポート」で取り込んで文字化けする場合は、UTF-8 に変換してからインポートし直してください。
- Google スプレッドシートから書き出した CSV が Excel で化ける:「ファイル」→「ダウンロード」→「カンマ区切り形式(.csv)」で保存される CSV は BOM なしの UTF-8 なので、Excel でダブルクリックすると文字化けすることがあります。方法 1 で BOM を付けるか、方法 2 で読み込んでください。
Mac 版の Excel でも、BOM なしの UTF-8 の CSV は文字化けすることがあります。UTF-8(BOM 付き)にしておけば、Excel 2016 以降なら Windows・Mac のどちらでも、Numbers や Google スプレッドシートでも正しく開けます。
文字化けしたまま保存してしまったときは
Excel で文字化けした状態のまま上書き保存すると、化けた文字がそのままファイルに保存されてしまいます。こうなると、文字コードを変えて開き直しても直りません。
元のファイルを再ダウンロードできるなら、それがいちばん確実です。できない場合は、化けた部分をコピーして 文字化け復元ツール に貼り付けてください。「豌丞錐」「螢イ荳翫ョ繝シ繧ソ」のような漢字だらけの文字化けなら、元の日本語(「氏名」「売上データ」)に戻せることがあります。ただし、「?」や「�」に置き換わった文字は元の情報が残っていないため、戻すことはできません。
CSV を Excel で開くと起きる、文字化け以外のトラブル
次のような崩れは文字コードではなく、Excel が列の値を数値や日付に自動で変換するために起こります。方法 2 の「データ型を検出しない」で読み込めば防げます。
- 郵便番号・電話番号・社員番号の先頭の「0」が消える(「012345」→「12345」)
- 桁数の多い数字が「1.23E+11」のような指数表示になる
- 「1-2」や「3/4」が日付(「1月2日」「3月4日」)に変わる
CSV 以外の場面での文字化けは、文字化けの直し方 で場面ごとに解説しています。