Woman checking her email in a meeting
CSVファイルをExcelで開いたときに「文字がぐちゃぐちゃで読めない!」といった経験はありませんか?特に日本語を含むファイルでは、文字化けがよく起こります。これはファイルの「文字コード」が原因です。この記事では、文字化けの原因をやさしく解説し、Excelで正しく表示させるための具体的な対処法を紹介します。
CSVファイルがExcelで文字化けしてしまう一番の原因は「文字コードの違い」です。
CSVファイルは「カンマ区切りテキスト」ですが、中身の文字列がどのコード(UTF-8、Shift_JIS、UTF-16など)で書かれているかによって、Excelの読み込み方が変わります。
日本の多くのWindows環境では、Excelが標準でShift_JIS(=日本語Windowsの標準文字コード)を想定してファイルを開きます。しかし、ウェブサービスなどで出力されるCSVはUTF-8で作られていることが多く、この違いが「文字化け」につながるのです。
たとえば、UTF-8で保存されたCSVファイルをExcelでダブルクリックして開くと、「」などの謎の文字列が表示されたり、日本語が「縺薙≠縺」のように意味不明になることがあります。
CSVファイルを正しく表示するには、Excelを開いてからインポート手順を使うのが確実です。以下の手順で開きましょう。
これで文字化けせずにCSVファイルがExcel上で開けるようになります。
Excelのバージョンによっては「データ」タブに項目名が少し異なる場合もありますが、「テキストまたはCSVから」といったメニューがあれば同様の手順で開けます。
どうしてもExcelをダブルクリックで開きたい、あるいは誰かに送るときに文字化けしないようにしたい、という場合は、CSVファイル自体を「Shift_JIS」で保存し直すことで対処できます。
こうすることで、Shift_JIS形式のCSVファイルになり、Excelでダブルクリックしても文字化けしにくくなります。
ただし、UTF-8特有の絵文字や特殊文字が含まれている場合、Shift_JISでは正しく保存できないこともあるので注意が必要です。
複数のCSVファイルを読み込む業務などでは、いちいち手動で文字コードを選ぶのは大変です。そのような場合には、VBA(マクロ)を使ってCSVを自動でUTF-8として読み込むスクリプトを活用するのもおすすめです。
以下は簡単なサンプルコードです。
Sub ImportCSV_UTF8()
Dim qt As QueryTable
Set qt = ActiveSheet.QueryTables.Add( _
Connection:="TEXT;C:\YourPath\yourfile.csv", _
Destination:=Range("A1"))
With qt
.TextFilePlatform = 65001 ' UTF-8
.TextFileParseType = xlDelimited
.TextFileCommaDelimiter = True
.Refresh BackgroundQuery:=False
End With
End Sub
上記のコードを実行することで、UTF-8のCSVファイルを指定のセル位置に読み込めます。ファイルパスを自分の環境に合わせて書き換える必要があります。
最近のOffice 365やExcel 2019以降のバージョンでは、CSVファイルをダブルクリックしてもUTF-8が自動的に認識されるようになってきています。
ただし、環境や設定によってはうまく認識されないケースもあるため、確実を期すならやはり「Excel内から読み込む」または「Shift_JISで保存し直す」方法が安心です。
もしExcelでうまく表示できない場合は、Googleスプレッドシートを使う方法もあります。
この方法でも文字化けを回避できるケースがあります。特にUTF-8対応がしっかりしているため、簡単に確認したいときに便利です。
CSVファイルの文字化けは「文字コードの違い」が原因で起こります。Excelで正しく開くためには、「Excel内からインポートする」方法がもっとも確実です。
また、Shift_JIS形式で保存し直す、VBAマクロを使う、Googleスプレッドシートを活用するなど、状況に応じて柔軟に対応することも大切です。
文字化けは誰にとっても面倒なトラブルですが、今回ご紹介した方法を知っておけば、落ち着いて対処できます。CSVファイルを扱う機会が多い方は、ぜひ習得しておきましょう!