2023-04-12

エクセルで開いたCSVが文字化けしたときの対処方法

エクセルに関する記事

外部のシステムなどからダウンロードしたCSVファイルを、エクセルで開いて処理しようとすると、文字化けしてファイルがうまく表示できないことがあります。今回は文字化けした際の対処方法をご紹介します。

原因と対処方法が分かれば何ということはありません。

文字化けが起こる主な原因

文字化けが発生してしまう、主な原因のひとつが、文字コードです。CSVファイルがUTF-8などのUnicodeでエンコードされている場合に、ExcelがShift-JISなどの文字コードで開いた場合に文字化けが発生することがあります。今回はCSVファイルがUnicode(UTF-8)の文字コードで保存されていることを前提とします。

CSVファイルは、テキスト形式で記述されています。テキストデータは、Unicodeと呼ばれる文字セットでエンコードされることが一般的です。一方で、Windows環境の場合、一部のアプリケーション(例えばExcel)は、Shift-JISという文字コードでテキストデータをエンコードすることがあります。CSVファイルがUTF-8などのUnicodeで保存されている場合に、エクセル側でShift-JISで開かれると、エクセルがUnicodeに対応していない文字を認識できず、誤った文字として表示してしまうためです。

スポンサーリンク

2つの解決方法

以下は、Unicodeのファイルをエクセルで開いたため、文字化けしてしまったCSVファイルです。

CSVファイルをエクセルで開くと文字化けする

テキストエディタで開くと、文字化けせず問題なく表示されます。

CSVファイルをテキストエディタで開くと文字化けしない

今回は文字コードを起因とする文字化けに対して、2つの解決方法をご紹介します。

エクセルのクエリを使用してファイルを開く

エクセルを立ち上げ、「データ」タブにある「テキストまたはCSVから」より、CSVファイルを展開しましょう。

エクセルのパワークエリからCSVファイルを開く

ダイアログが表示されたら、CSVファイルを指定します。

パワークエリで開くCSVファイルを選択
ファイルを開く文字コードを指定して読み込み

プレビューが表示されます。文字コードは、CSVファイルの保存文字コードと同じ、Unicode(UTF-8)が選択されていて、文字化けすることなくファイルの内容が表示されました。そして、問題なく読み込みができました。

文字化けせずにエクセルで開くことができた

今回はCSVファイルの文字コードがUnicode(UTF-8)なので、Unicode(UTF-8)を指定して展開しましたが、実際にはCSVファイルの文字コードに合わせて変更してください。

文字コードをShift-JISにして保存し直す

次はファイルの文字コードを変更して対応する方法です。Windowsであることを前提にしていますが、Macであっても対応方法は同じです。内容を読み換えてください。

エクスプローラ上でファイルを右クリックし、「プログラムから開く」から「メモ帳」を選択します。

CSVファイルをメモ帳で開く

開いたファイルが文字化けしていないことを確認のうえ、「ファイル」から「名前をつけて保存」をクリック。

保存ダイアログで、保存ボタンの左に文字コードを指定するプルダウンがあります。今回はANSIを選択します。ANSIは日本語WindowsでShift-JISのことです。(厳密には異なるようですが、今回はその認識で問題ありません。)

文字コードはANSI(Shift-JIS)を選択

保存後、エクセルで再度開いてみましょう。文字化けが発生しないことが確認できましたね。

文字化けすることなくエクセルで開けた

注意点

文字化けが発生した状態で、ファイルに追記などの編集を加え、保存して閉じてしまうと、復元できない状態に陥ってしまう可能性があります。文字化けの原因特定、解消がされる前には、ファイルの変更や保存はしない、保存を行う場合はファイルをコピーしてバックアップをするなどした方が安心だと思います。

まとめ

文字化けの主な原因は、ファイルで指定されている文字コードとファイルを開くときに指定されている文字コードに不一致があることにあります。

つまり、ファイルを開く際にアプリ側の文字コードに合わせるか、ファイルそのものの文字コードを変換すれば解決します。文字化けが発生しても、慌てず解消方法を試しましょう。