エクセルでCSVファイルを開いたときに、日本語が文字化けして正しく表示されず困ったことはありませんか?
この記事では、CSV取り込み時に文字コード(Shift_JIS、UTF-8、ANSIなど)を正しく扱う方法を解説します。
ポイントは次の3つです。
・テキストファイルウィザードで文字コードを指定してインポートする
・メモ帳やテキストエディタで文字コードを変換してから開く
・Power Queryを使った高度なCSV取り込み方法
それでは詳しく見ていきましょう。
CSVファイルで文字化けが起こる原因
CSVファイルを開いたときに文字化けが発生する主な原因は、ファイルの文字コードとエクセルが想定している文字コードが一致していないことです。
文字コードとは、文字をコンピュータで扱うためのデータ形式で、主にUTF-8、Shift_JIS(SJIS)、ANSI(CP932)などがあります。
日本語を含むCSVファイルでは、特に次のようなケースで文字化けが発生しやすくなります。
・UTF-8で保存されたCSVファイルをエクセルで直接開いた場合
・Shift_JIS のCSVファイルを、UTF-8 として読み込んだ場合
・WebシステムからダウンロードしたCSV(UTF-8が多い)を開いた場合
エクセルは、CSVファイルをダブルクリックで開くと、自動的に**Windowsの既定文字コード(日本語環境では Shift_JIS)**で読み込むため、異なる文字コードのCSVでは文字化けが起こります。
主な文字コードの種類
・UTF-8:世界中の文字を統一的に扱える文字コード。Webやアプリで最も一般的
・Shift_JIS(SJIS):日本語用の文字コード。日本語Windowsの標準
・ANSI(CP932):Windowsで使用される日本語文字コード。Shift_JISの拡張版
・UTF-8 BOM付き:UTF-8にBOM(Byte Order Mark)という識別情報を付けたもの
それぞれの文字コードには特徴があり、用途やシステムの仕様に応じて使い分ける必要があります。
操作のポイント:文字化けの原因は「ファイルの文字コード」と「エクセルが想定する文字コード」の不一致です。
CSV をダブルクリックして開くと、自動的に Shift_JIS として読み込むことを覚えておきましょう。
【ここから】
文字コードを指定してCSVを取り込む方法1【データの取得】
エクセルで文字コードを指定してCSVファイルを取り込む最も確実な方法は、「データの取得」機能を使用することです。
この方法なら、開く前に文字コードを選択できるため、文字化けを確実に防げます。
テキストファイルウィザードでの取り込み手順
エクセルを起動し、新しいブックを開きます。
「データ」タブをクリックし、「データの取得」→「ファイルから」→「テキストまたはCSVから」を選択します。

取り込みたいCSVファイルを選び、「インポート」をクリックします。
すると、CSVファイルの内容を確認できるプレビュー画面が表示されます。
ここで特に確認すべきなのが、「ファイルの元の場所」 というドロップダウンです。

プレビューで文字化けしている場合は、「ファイルの元の場所」を変更します。
主な選択肢は以下の通りです。
・932:日本語(Shift_JIS)
・65001:Unicode(UTF-8)
・1252:西ヨーロッパ言語(ANSI)
特に、WebシステムからダウンロードしたCSVは UTF-8(65001) が多いため、文字化けしている場合はまずUTF-8を試すと良いでしょう。
正しい文字コードを選ぶと、プレビュー画面で日本語が正常に表示されます。
確認ができたら、「読み込み」をクリックしてデータをシートに取り込みます。
区切り文字の設定
通常、CSVはカンマで区切られていますが、セミコロン区切りやタブ区切りになっている場合もあります。
プレビュー画面で列が正しく分割されていない場合は、「区切り記号」の設定を確認してください。
さらに細かい調整をしたい場合は、「変換」ボタンをクリックして Power Query エディターを開くと、区切り位置やデータ型を詳細に調整できます。
操作のポイント:
「データ」タブ → 「データの取得」 → 「テキストまたはCSVから」でファイルを選び、
「ファイルの元の場所」で適切な文字コードを指定すれば文字化けせずに取り込めます。
文字コードを指定してCSVを取り込む方法2【従来のテキストファイルウィザード】
Excel 2016以前のバージョンや、従来の取り込み方法を使いたい場合は、レガシー版のテキストファイルウィザードを利用できます。
レガシーウィザードの使用方法
「データ」タブを開き、
「データの取得」→「レガシーウィザードから」→「テキストから(レガシー)」 を選択します。
取り込みたいCSVファイルを選び、「インポート」をクリックします。

すると、「テキストファイルウィザード – 1/3」が表示されます。
まずは「元のファイル」ドロップダウンから、適切な文字コードを指定しましょう。
・932:日本語(Shift_JIS)
・65001:Unicode(UTF-8)
プレビュー画面で正しく表示されることを確認し、「次へ」をクリックします。

続いて「テキストファイルウィザード – 2/3」で、区切り文字を設定します。
通常のCSVなら「カンマ」にチェックを入れます。
プレビューで列が正しく分割されていることを確認し、「次へ」をクリックします。
最後に「テキストファイルウィザード – 3/3」で各列のデータ形式を指定します。
通常は「G/標準」のままで問題ありませんが、郵便番号・電話番号など先頭に0があるデータは「文字列」を選択しておきましょう。
設定が終わったら「完了」をクリックし、データを配置する場所を選んで「OK」を押します。
操作のポイント:
「データ」タブ → 「データの取得」 → 「レガシーウィザードから」 → 「テキストから(レガシー)」で、従来のテキストファイルウィザードが使えます。
文字コード → 区切り文字 → データ形式の順番で、段階的に設定できるのが特徴です。
メモ帳で文字コードを変換してから開く方法
CSVファイルの文字コードを変換してからエクセルで開く方法もあります。
この方法は、ファイルそのものの文字コードを変更するため、他の人へ共有する場合にも有効です。
メモ帳での文字コード変換手順
CSVファイルを右クリックし、
「プログラムから開く」→「メモ帳」 を選択します。
まず、メモ帳で内容が正しく表示されているか確認しましょう。
もし文字化けしている場合は、メモ帳では開かず、別の方法を検討する必要があります。

続いて、「ファイル」→「名前を付けて保存」 を選びます。
画面下部の「文字コード」ドロップダウンから、目的の文字コードを選択します。
・ANSI:Shift_JIS(日本語Windows標準)
・UTF-8:BOM付きUTF-8
・Unicode:UTF-16
・UTF-8(BOMなし):BOMなしのUTF-8
エクセルで開く場合は、通常
「ANSI」または「UTF-8」 を選ぶと文字化けしにくくなります。
保存する際、元のファイルを上書きしたくない場合は、ファイル名を変更して保存しましょう。
保存後のCSVファイルをダブルクリックで開けば、エクセルで正しく表示されます。
高機能テキストエディタの活用
より高度な文字コード変換が必要な場合は、
Visual Studio Code や Notepad++ などの高機能エディタの利用がおすすめです。
これらのエディタは
・文字コードの自動判別
・さまざまな文字コードへの変換
・行単位の編集や置換
など、メモ帳よりも細かい調整が可能です。
操作のポイント:
CSVファイルを 右クリック → メモ帳で開く → 「名前を付けて保存」 で文字コードを指定して保存すれば、ファイル自体の文字コードを変換できます。変換後はダブルクリックでそのまま開けます。
Power Queryを使った高度なCSV取り込み方法
Power Queryを使用すると、文字コードの指定だけでなく、データの加工や整形も同時に行える高度なCSV取り込みが可能です。
Power Queryは、データの取得、変換、整形を一連の手順として保存できるため、定期的に同じ形式のCSVを取り込む場合に非常に便利です。
Power Queryでの取り込みと設定
「データ」タブ → 「データの取得」→「ファイルから」→「テキストまたはCSVから」を選択し、取り込みたいCSVファイルを指定します。
プレビュー画面が開いたら、「変換」ボタン をクリックして、Power Queryエディターを表示します。

右側には 「適用したステップ」 という欄があり、取得から変換までの操作が自動的に記録されています。
最初の「ソース」ステップをクリックすると、右側に詳細設定が表示され、
ここで 「ファイルの元の場所」 を変更することで、文字コードを指定できます。
Power Queryでは、文字コード指定以外にも次のような高度な操作が可能です。
・不要な列の削除
・列名の変更
・データ型(数値・文字列・日付など)の変更
・条件付きフィルタリング
・列の分割や結合
・並べ替え
・重複削除
これらの変換がすべてステップとして保存されるため、後から編集したり再適用したりできます。
設定が完了したら、「閉じて読み込む」 をクリックしてシートにデータを反映します。
次回、同じ形式のCSVファイルを読み込むときは、
「データ」タブ → 「すべて更新」 をクリックするだけで、前回保存した変換手順が自動的に実行されます。
操作のポイント:
Power Queryを使えば、文字コードの指定からデータ加工までを一括で管理できます。変換手順を保存できるため、定期的に同じ形式のCSVを扱う作業を大幅に効率化できます。
まとめ エクセルで文字コードを変更(sjisやutf8やansi)する方法
エクセルで文字コードを指定してCSVを正しく取り込む方法は、主に次の4つです。
・データの取得:「データ」タブ →「データの取得」→「テキストまたはCSVから」で、取り込み時に「ファイルの元の場所(文字コード)」を指定
・レガシーウィザード:「データの取得」→「レガシーウィザードから」→「テキストから(レガシー)」で段階的に取り込み設定
・メモ帳での変換:CSVをメモ帳で開き、「名前を付けて保存」で文字コードを変換してからエクセルで開く
・Power Query:文字コード指定に加えて、データの加工・整形を自動化できる高度な方法
これらを状況に応じて使い分けることで、文字化けを防ぎながら、正確なCSV取り込みが可能になります。
特に 最も確実で推奨されるのは、「データの取得」機能で文字コードを指定する方法 です。
最近は WebからダウンロードしたCSVの多くがUTF-8(65001) で保存されているため、取り込み時の文字コード選択で「65001 : Unicode (UTF-8)」を指定すると、ほとんどの文字化けは解消できます。
また、メモ帳を使った変換はファイル自体を別の文字コードへ変更できるため、
他の人に渡す場合にも確実に文字化けを防げます。
そして、同じ形式のCSVを毎回取り込む必要がある場合は、
Power Queryを使えば「手順の自動化」と「文字コード指定」「データ整形」をまとめて行えるため、最も効率的です。
エクセルでの文字コード変換をマスターして、CSVファイルの文字化けトラブルから解放されましょう!


コメント