Windows

ExcelでCSVが文字化けする原因と直し方|UTF-8・Shift-JISの違いと対処法を解説

以下は「Excel CSV 文字化け」で検索するユーザーを想定して、原因・対処法・UTF-8・Shift-JIS・Mac/Windowsの違いまでカバーしたブログ記事です。

ExcelでCSVが文字化けする原因と直し方|UTF-8・Shift-JISの違いと対処法を解説

ExcelでCSVファイルを開いたときに、

「日本語が文字化けして読めない」

「CSVをExcelで開くと記号や英数字になる」

「CSVの文字コードを変更したい」

と困ったことはありませんか?

CSVファイルの文字化けは、CSVファイルの文字コードとExcelが読み込む文字コードが一致していないことが主な原因です。

特に、WebサービスやシステムからダウンロードしたCSVをExcelで開いたときに、文字化けするケースがあります。

この記事では、ExcelでCSVが文字化けする原因から、UTF-8のCSVを正しく開く方法、Shift-JISのCSVを扱う方法、文字化けしたCSVを直す方法まで詳しく解説します。

ExcelでCSVが文字化けする主な原因

CSVをExcelで開いたときに文字化けする主な原因は、文字コードの違いです。

CSVファイルには、文字をどのようなデータとして保存するかを決める「文字コード」があります。

代表的な文字コードには、

  • UTF-8
  • UTF-8 BOM付き
  • Shift-JIS
  • CP932

などがあります。

例えば、CSVファイルがUTF-8で保存されているのに、Excel側が別の文字コードとして読み込んでしまうと、日本語が正常に表示されず文字化けすることがあります。

文字コードとは?

文字コードとは、文字をコンピューター上で扱うためのルールです。

例えば、

「こんにちは」

という日本語も、コンピューター内部では文字コードによって異なるデータとして保存されます。

そのため、ファイルを開く側が正しい文字コードを認識できないと、次のような状態になることがあります。

元の文字

こんにちは

文字化け

こんにちは

日本語のCSVでは、特にUTF-8とShift-JISの違いが重要です。

ExcelでCSVを開くと文字化けしやすいケース

次のような場合は、CSVが文字化けする可能性があります。

  • WebサイトからCSVをダウンロードした
  • システムからCSVを出力した
  • UTF-8のCSVをExcelで開いた
  • 古いシステムで作成されたCSVを開いた
  • 他のパソコンで作成したCSVを開いた
  • Excel以外のソフトで作成されたCSVを開いた
  • Macで作成したCSVをWindowsのExcelで開いた

特に、最近のWebサービスではUTF-8のCSVが多く使われています。

一方、Windows環境ではShift-JIS系の文字コードが使われてきたため、文字コードの違いによって問題が発生することがあります。

方法1:Excelの「データ」からCSVを読み込む

CSVをダブルクリックして開くのではなく、Excelのデータ取り込み機能を利用する方法があります。

この方法なら、CSVの文字コードを指定して読み込めます。

1.Excelを起動する

まず、CSVファイルを直接ダブルクリックせずにExcelを起動します。

新しいブックを開いてください。

2.「データ」タブをクリックする

Excel上部のリボンから、

「データ」

タブをクリックします。

3.「テキストまたはCSVから」を選択する

データの取得関連メニューから、

「テキストまたはCSVから」

を選択します。

Excelのバージョンによって表示される名称や位置が多少異なる場合があります。

4.CSVファイルを選択する

文字化けしているCSVファイルを選択します。

すると、CSVの内容を確認するためのプレビュー画面が表示されます。

5.ファイルの文字コードを確認する

プレビュー画面に文字コードを指定する項目があります。

ここで、

UTF-8

など、CSVファイルに使用されている文字コードを選択します。

文字が正常に表示されたら、その文字コードが適切である可能性が高いです。

6.データを読み込む

日本語が正常に表示されていることを確認したら、

「読み込み」

をクリックします。

これでCSVのデータをExcelに取り込めます。

方法2:UTF-8のCSVをExcelで正しく開く

UTF-8のCSVが文字化けする場合は、CSVを直接ダブルクリックするのではなく、Excelのデータ取り込み機能を使うのがおすすめです。

基本的な流れは、

  1. Excelを起動
  2. 「データ」をクリック
  3. 「テキストまたはCSVから」を選択
  4. CSVファイルを指定
  5. 文字コードを「UTF-8」にする
  6. プレビューで日本語を確認
  7. 「読み込み」をクリック

です。

この方法なら、CSVの文字コードを確認しながら読み込めます。

方法3:Shift-JISのCSVをExcelで開く

古いシステムなどから出力されたCSVでは、Shift-JIS系の文字コードが使われている場合があります。

その場合は、CSVの読み込み時に文字コードとして、

Shift-JIS

を指定します。

ただし、Excelの画面では「Shift-JIS」ではなく、環境によって別の名称で表示される場合があります。

例えば、Windows環境では「932: 日本語(シフト JIS)」などと表示されることがあります。

プレビュー画面で日本語が正常に表示される文字コードを選択するのがポイントです。

UTF-8とShift-JISの違い

CSVの文字化けを解決するためには、UTF-8とShift-JISの違いを理解しておくと便利です。

項目 UTF-8 Shift-JIS
主な用途 Web・現在のシステムなど Windowsの古い環境など
日本語 対応 対応
英数字 対応 対応
多言語 得意 苦手
Webとの相性 良い UTF-8が主流
CSVでの利用 多い 以前から広く利用

現在はUTF-8が幅広く使われています。

ただし、日本国内の業務システムなどではShift-JIS系のCSVが残っているケースもあります。

UTF-8 BOM付きCSVとは?

CSVを扱っていると、

UTF-8 BOM付き

という言葉が出てくることがあります。

BOMとは、ファイルの先頭に付加される情報で、UTF-8で保存されたファイルであることを識別しやすくする役割があります。

Excelとの互換性を考える場合、UTF-8 BOM付きCSVが便利なケースがあります。

特に、CSVをExcelで開くユーザー向けに配布する場合は、文字コードを適切に設定することが重要です。

CSVをUTF-8で保存する方法

Excelで作成したデータをUTF-8のCSVとして保存することもできます。

1.「名前を付けて保存」を選択する

Excelでデータを作成したら、

「ファイル」→「名前を付けて保存」

を選択します。

2.ファイルの種類を選択する

ファイル形式の一覧から、

CSV UTF-8(コンマ区切り)

を選択します。

Excelのバージョンによって表示名称が多少異なる場合があります。

3.ファイルを保存する

ファイル名を指定して保存します。

これでUTF-8形式のCSVとして保存できます。

CSVをShift-JISで保存する方法

古いシステムなどでShift-JIS形式のCSVが必要な場合は、保存時に適切なCSV形式を選択します。

Excelでは環境やバージョンによって、

CSV(コンマ区切り)

などの形式が用意されています。

ただし、使用しているExcelのバージョンやWindowsの環境によって文字コードの扱いが異なる場合があります。

システム側から文字コードの指定がある場合は、その指定に合わせて保存してください。

CSVをダブルクリックすると文字化けする場合

CSVファイルをダブルクリックしてExcelで開いたときだけ文字化けする場合があります。

この場合は、CSVファイルそのものが壊れているとは限りません。

ExcelがCSVの文字コードを正しく判別できていない可能性があります。

対処法

CSVを直接開くのではなく、

Excel → データ → テキストまたはCSVから

という手順で読み込んでみてください。

文字コードを指定できるため、文字化けを解消できる可能性があります。

CSVをメモ帳で開くと文字化けする場合

Excelではなく、メモ帳などのテキストエディターでCSVを開いても文字化けする場合があります。

この場合は、CSVファイルの文字コード自体を確認する必要があります。

Windowsのメモ帳などでは、文字コードを指定して保存できる場合があります。

ただし、CSVを編集する目的でメモ帳を使うと、データ量によっては扱いにくくなるため注意してください。

CSVをExcelで編集するときの注意点

CSVをExcelで開いて編集するときには、文字コード以外にも注意が必要です。

特に注意したいのが、

先頭の0が消える問題

です。

例えば、

00123

というデータをExcelで読み込むと、

123

のように表示されることがあります。

これはExcelが「00123」を数値として認識してしまうためです。

電話番号や商品コードに注意

以下のようなデータは特に注意が必要です。

  • 郵便番号
  • 電話番号
  • 商品コード
  • 社員番号
  • 会員番号
  • JANコード
  • ID
  • 口座番号

これらは数字だけで構成されていても、計算するための数値ではなく「文字列」として扱うことがあります。

CSVをExcelに取り込む場合は、必要に応じて列のデータ型を「テキスト」に設定しましょう。

ExcelでCSVを保存するとデータが変わる場合

CSVをExcelで編集して保存すると、元のCSVとはデータの扱いが変わることがあります。

例えば、

  • 先頭の0が消える
  • 日付に自動変換される
  • 数字が指数表示になる
  • 文字コードが変わる
  • 数式が値として保存される

などです。

そのため、システムへアップロードするCSVなどは、編集後に内容を確認することが重要です。

CSVをExcelで開いたときに文字化けしたら確認すること

文字化けした場合は、以下を順番に確認しましょう。

1.CSVの文字コードを確認する

まず、CSVが、

  • UTF-8
  • UTF-8 BOM付き
  • Shift-JIS
  • CP932

のどれなのか確認します。

2.Excelのデータ取り込みを利用する

CSVをダブルクリックするのではなく、

「データ」→「テキストまたはCSVから」

を利用します。

3.プレビューを確認する

読み込み前のプレビューで、日本語が正常に表示されているか確認します。

4.文字コードを変更する

文字化けしている場合は、文字コードを変更します。

UTF-8で文字化けするならShift-JIS系を試すなど、CSVの作成元に合わせて選択します。

5.正常に表示されたら読み込む

プレビューで日本語が正常に表示されたことを確認してから読み込みます。

CSVの文字コードが分からない場合

CSVを作成したシステムやサービスが分かるのであれば、まず仕様を確認するのがおすすめです。

例えば、

「このCSVはUTF-8で出力されます」

「Shift-JISで保存してください」

などの説明があれば、それに合わせます。

仕様が分からない場合は、Excelの読み込み画面で文字コードを切り替えながら、プレビューを確認する方法があります。

日本語が正常に表示される文字コードを探してみましょう。

ExcelでCSVの文字化けを防ぐポイント

CSVの文字化けを毎回発生させないためには、ファイルをやり取りする相手と文字コードを統一することが重要です。

例えば、

「CSVはUTF-8で受け渡す」

とルールを決めておけば、文字コードの違いによるトラブルを減らせます。

また、ExcelでCSVを作成する場合は、用途に応じて適切なCSV形式を選択しましょう。

CSVをExcelで扱うときのおすすめ手順

CSVを編集する場合は、次の手順がおすすめです。

  1. CSVを直接ダブルクリックしない
  2. Excelを起動する
  3. 「データ」を開く
  4. 「テキストまたはCSVから」を選択する
  5. 文字コードを確認する
  6. プレビューで日本語を確認する
  7. データを読み込む
  8. 編集する
  9. 保存時に必要なCSV形式を選択する
  10. 保存後にCSVを再確認する

この方法なら、文字化けやデータ形式のトラブルを減らせます。

ExcelでCSVが文字化けするときのまとめ

ExcelでCSVが文字化けする最大の原因は、CSVの文字コードとExcel側の読み込み設定が一致していないことです。

特に確認したいのは、

  • UTF-8
  • UTF-8 BOM付き
  • Shift-JIS
  • CP932

などの文字コードです。

CSVをダブルクリックして文字化けする場合は、直接開くのではなく、Excelの

「データ」→「テキストまたはCSVから」

を利用して読み込むのがおすすめです。

読み込み画面で文字コードを変更し、プレビューで日本語が正常に表示される設定を選択してください。

また、CSVをExcelで編集すると、文字化け以外にも「先頭の0が消える」「日付に自動変換される」といった問題が発生することがあります。

そのため、CSVを扱うときは文字コードだけでなく、データ型にも注意することが重要です。

よくある質問

ExcelでCSVを開くと文字化けするのはなぜ?

主な原因は、CSVの文字コードとExcelが読み込んでいる文字コードが一致していないことです。UTF-8とShift-JISの違いによって文字化けするケースがあります。

CSVの文字化けを直すにはどうすればいい?

Excelを起動し、「データ」→「テキストまたはCSVから」を選択してCSVを読み込みます。読み込み画面で文字コードを変更し、日本語が正常に表示される設定を選択してください。

UTF-8のCSVがExcelで文字化けします

CSVを直接ダブルクリックせず、Excelの「データ」→「テキストまたはCSVから」で読み込んでください。文字コードをUTF-8に設定してプレビューを確認します。

Shift-JISのCSVをExcelで開くには?

ExcelのCSV読み込み画面で、文字コードとしてShift-JIS系の設定を選択します。プレビューで日本語が正常に表示されることを確認してから読み込んでください。

ExcelでCSVをUTF-8で保存できますか?

可能です。「名前を付けて保存」から「CSV UTF-8(コンマ区切り)」などのUTF-8形式を選択して保存します。

CSVをExcelで編集すると文字化けすることがありますか?

保存時の文字コードが変わると、別のソフトで開いたときに文字化けする可能性があります。CSVを受け渡す相手やシステムが指定している文字コードに合わせて保存することが重要です。