ExcelのPower Query(パワークエリ)を使用してCSVファイルを取り込む際、プレビュー画面で日本語が「」や「縺ゅ」のように文字化けしてしまう現象は、実務において非常に頻繁に発生します。これは、取り込もうとしているファイルの文字コード(エンコード)と、Power Queryが推測した文字コードが一致していないことが原因です。
特に、Macで作成されたCSVや、ウェブサービスからダウンロードしたUTF-8形式のファイルを、Shift-JISを標準とする古いWindows環境のExcelで読み込もうとすると、この不一致が確実に発生します。本記事では、インポート時に一瞬で文字化けを直すエンコード選択の手順から、すでに取り込んでしまったクエリの修正方法、そして「BOM(Byte Order Mark)」の有無による技術的な挙動の違いまでを詳説します。
結論:文字化けを解消する最短設定
- 「元のファイル」のドロップダウンを変更する:インポート画面で『65001: Unicode (UTF-8)』または『932: 日本語 (Shift-JIS)』を選択します。
- 既存クエリは「ソース」の設定を書き換える:クエリ設定の『ソース』ギアアイコンから、エンコードを再指定します。
- 自動検出に頼らない:Excelの推測機能(最初の200行に基づく判定)が間違っている場合は、手動固定が最も確実です。
目次
1. Power Queryで文字化けが起きる技術的メカニズム
文字化けの本質は、コンピュータがデータを読み取る際の「翻訳ルールの誤り」です。CSVファイル自体には、自分がどの文字コードで書かれているかという情報が(BOMがない限り)含まれていません。そのため、Power Queryはファイル冒頭の数行をスキャンして文字コードを「推測」します。
代表的な不一致のパターン
- UTF-8(BOMなし) vs 日本語 (Shift-JIS):現代のウェブシステムやMac環境の標準であるUTF-8を、Excelが従来の日本標準(SJIS)と誤認するパターン。最も多い原因です。
- サクラエディタやVS Codeでの編集:プログラミング用エディタで保存した際、エンコードが変更されていることに気づかず取り込むケース。
- 機種依存文字の混入:丸数字(①)や特殊記号が含まれる場合、標準的なShift-JIS(CP932)では解釈できず、文字化けを引き起こします。
2. 手順①:インポート開始時に文字化けを直す方法
CSVを選択した直後の「プレビュー画面」で、正しい翻訳ルールを教えてあげる手順です。
- 「データ」タブ > 「テキストまたは CSV から」を選択し、ファイルを開きます。
- プレビュー画面が表示されたら、左上にある「元のファイル」のドロップダウンリストをクリックします。
- 現在の表示が文字化けしているなら、もう一方の主要エンコードを選択します。
- 「」のような記号が出る場合:「65001: Unicode (UTF-8)」を選択。
- 「縺ゅ」のような漢字の羅列になる場合:「932: 日本語 (Shift-JIS)」を選択。
- プレビューの文字化けが消えたことを確認し、「データの変換」(または読み込み)をクリックします。
3. 手順②:すでに取り込んだデータの文字化けを修正する
「取り込んだ後に文字化けに気づいた」という場合、最初からやり直す必要はありません。クエリのステップを遡って設定を書き換えます。
- 「クエリと接続」パネルから、対象のクエリをダブルクリックして「Power Query エディター」を開きます。
- 右側の「適用したステップ」にある一番上の「ソース」の横にある「ギア(設定)アイコン」をクリックします。
- 「元のファイル」の項目で、正しいエンコード(65001 または 932)を選び直します。
- 「OK」を押し、左上の「閉じて読み込む」をクリックします。
これにより、以降の加工ステップ(列の分割や型の変更など)を維持したまま、元データの文字化けだけを技術的に修正できます。
4. 技術比較:CSV取り込みで意識すべき主要エンコード表
どの設定を選ぶべきか迷った際の判断基準です。
| エンコード名(コード) | 特徴と主なソース | Excelでの挙動 |
|---|---|---|
| Unicode (UTF-8) [65001] | 世界標準。クラウドツール、Mac、Google関連。 | 現代の主流。BOMがないとWindows Excelは自動認識に失敗しやすい。 |
| 日本語 (Shift-JIS) [932] | 古い日本国内のWindowsソフト、基幹システム。 | Excelの規定。UTF-8のファイルを取り込むと高確率で化ける。 |
| Unicode (UTF-16) [1200] | 一部の大規模データベースのエクスポート。 | 日本語がすべて消える(空白になる)場合はこれを試す。 |
5. 応用:「BOM付きUTF-8」を活用して自動認識させる
自分でCSVを作成し、他人に配布する場合、Power Queryを開くたびにエンコードを選ばせるのは不親切です。ファイル自体に「これはUTF-8です」という識別票(BOM:Byte Order Mark)を付与することで、Excelに自動認識させることが可能です。
- メモ帳で保存する場合:名前を付けて保存時、エンコードで「UTF-8 (BOM付き)」を選択。
- Excelで保存する場合:ファイルの種類で「CSV UTF-8 (コンマ区切り)(*.csv)」を選択。
BOMが付いているファイルは、Power Queryが「元のファイル」のドロップダウンを自動的に最適なものへ切り替えてくれるため、ユーザーは文字化けを意識せずに取り込めるようになります。
まとめ:エンコードの不一致は「設定」で制圧する
Power Queryでの文字化けは、データの不具合ではなく、読み取り設定の不備に過ぎません。ファイルをメモ帳で開き直してコピペしたり、エンコード変換ソフトを別途導入したりする必要はありません。インポート画面の「元のファイル」というドロップダウン一箇所を論理的に指定するだけで、すべての問題は「超解決」します。
まずは「UTF-8」と「Shift-JIS」という2つの主要な翻訳ルールがあることを理解し、プレビュー画面で交互に切り替えてみてください。ツールの持つデータ解釈エンジンを正しく制御することで、膨大なCSVデータのクリーニング作業を劇的に効率化し、本来のデータ分析に注力できる環境を構築しましょう。
