ADVERTISEMENT

【Excel】Power QueryでOneDrive上のCSVが文字化けする時の文字コード確認

【Excel】Power QueryでOneDrive上のCSVが文字化けする時の文字コード確認
🛡️ 超解決

Power QueryでOneDrive上のCSVファイルを読み込んだ際に、日本語の部分が「・」や「????」に化けてしまう問題は、会社のデータ連携業務で頻繁に発生します。この文字化けの原因のほとんどは、CSVファイルの文字コードとPower Queryの読み込み設定のミスマッチです。本記事では、文字化けが起きた時の原因特定手順と、文字コードを確認・変更する具体的な方法を解説します。特に管理者に問い合わせる前に自分でできる切り分けを整理しましたので、ぜひ参考にしてください。

【要点】この記事で確認すること

  • 最初に見る場所: Power Queryエディターの「変換」タブ→「データ型の検出」付近の「ソース」ステップで、CSVファイルの文字コードが何に設定されているかを確認します。
  • 切り分けの軸: 端末側のExcelの地域設定、OneDriveの同期状態、Power Queryのエンコード指定、CSVファイル自体の文字コード(BOM有無)の4点で原因を絞り込みます。
  • 注意点: 会社PCではPower Queryの詳細設定やレジストリ編集をむやみに変更せず、まずはファイルのバックアップを取ってから試行してください。また、OneDriveの「常にこのデバイスに保持」設定がオフだとオフラインでファイルが正しく読めない場合があります。

ADVERTISEMENT

1. Power QueryでOneDriveのCSVが文字化けする原因

Power QueryはCSVファイルを読み込む際に、ファイルの先頭数バイトを調べて文字コードを自動判別します。しかし、OneDrive経由でアクセスするファイルでは、以下の理由で判別が失敗することがあります。

  • CSVファイル自体がShift_JIS(日本語Shift JIS)で保存されている – Power QueryはデフォルトでUTF-8を優先するため、Shift_JISのファイルをUTF-8と誤認して文字化けします。
  • BOM(Byte Order Mark)の有無 – UTF-8にBOMが付いているとPower QueryはUTF-8と正しく認識しますが、BOMなしUTF-8やShift_JISの場合は判別に失敗します。
  • OneDriveの同期タイミング – クラウド上のファイルが完全にダウンロードされていない状態でPower Queryが読み込むと、不完全なデータを処理して文字化けの原因になります。
  • Power Queryのエンコード設定が固定されていない – 「ソース」ステップでエンコードが「1252: Western European (Windows)」など誤ったコードページになっていると、日本語が正しく解釈されません。
お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

2. 文字化け発生時の確認手順(Power Queryエディター)

Power Queryエディターを開いて、以下の手順で現在のエンコード設定を確認します。

  1. Excelで「データ」タブ → 「クエリと接続」をクリックし、該当のクエリを右クリックして「編集」を選択します。
  2. Power Queryエディターが開いたら、右側の「クエリの設定」ペインの「適用されたステップ」で「ソース」をクリックします。
  3. 数式バーに表示されたソースの式を確認します。「Csv.Document」関数の引数に「[Encoding=…]」が含まれているかどうかを見ます。
  4. もしEncodingが指定されていない場合は、自動判別に任せている状態です。その場合、次の手順で明示的にエンコードを設定します。
  5. 「ホーム」タブ → 「データソースの設定」→「ソースの変更」から、もう一度ファイルを選び直すこともできますが、より確実なのは数式バーを直接編集する方法です。

数式バーでの編集例:Csv.Document(File.Contents("C:\path\file.csv"),[Delimiter=",", Encoding=65001]) のようにEncodingにコードページ番号を指定します。65001はUTF-8、932はShift_JIS(日本語)、1200はUTF-16LEなどです。

3. CSVファイル自体の文字コードを確認する方法

Power Queryで文字化けが起きたら、まずCSVファイルそのものがどの文字コードで保存されているかを調べます。以下の方法があります。

3-1. メモ帳で開いて確認する

Windowsのメモ帳でCSVファイルを開き、「ファイル」→「名前を付けて保存」を選ぶと、ダイアログ下部に「文字コード」のドロップダウンが表示されます。現在開いているファイルの文字コードが選択された状態で表示されるため、それがファイルの実際のエンコードです。

3-2. サクラエディタやVS Codeを使う

サクラエディタでは右下のステータスバーに「SJIS」「UTF-8」などと表示されます。VS Codeでは右下の「UTF-8」や「Shift JIS」という表示をクリックするとエンコードの変更が可能です。これらのツールでファイルを開けば、実際の文字コードが一目でわかります。

3-3. BOMの有無を確認する

BOMはファイルの先頭に付与される特殊なバイト列です。UTF-8のBOMは「EF BB BF」、UTF-16LEのBOMは「FF FE」です。バイナリエディタで確認するか、Power Queryの「バイナリ変換」を使って先頭数バイトを調べることもできますが、一般的にはメモ帳で名前を付けて保存した時に「UTF-8(BOM付き)」か「UTF-8」の表示で判断できます。

ADVERTISEMENT

4. Power Queryで文字コードを明示的に指定する手順

文字化けを根本的に解決するには、Power Queryのソースステップでエンコードを正しく指定します。以下の手順で行ってください。

  1. Power Queryエディターで該当クエリを開き、「適用されたステップ」から「ソース」を選択します。
  2. 数式バーの内容をコピーし、メモ帳などに一時保存します(例:= Csv.Document(File.Contents("https://...”)))。
  3. 数式バーを直接編集し、Csv.Documentの第2引数にレコードを追加します。カンマで区切って [Delimiter=",", Encoding=932] のように指定します。
  4. Enterキーを押すと、エンコードが変更されてプレビューが更新されます。文字化けが解消されたら、そのままクエリを保存します。
  5. もしエラーが発生する場合は、Encodingの値を65001に変更して再試行します。ファイルがShift_JISの場合は932、UTF-8の場合は65001です。

注意:OneDrive上のファイルパスはURL形式(https://…)になることがありますが、この方法はローカルパスでも同じです。また、クエリを更新するたびに毎回同じエンコードで読み込まれるようになります。

5. 文字コードとBOMの有無による比較表

以下の表は、代表的な文字コード設定とPower Queryでの挙動をまとめたものです。自分のファイルがどのパターンに該当するか確認してください。

文字コード BOM有無 PowerQuery自動判別結果 推奨Encoding値
UTF-8 あり 正しくUTF-8と認識 65001
UTF-8 なし Shift_JISなど誤認識される可能性大 65001
Shift_JIS なし(通常) UTF-8と誤認識して文字化け 932
UTF-16LE あり(通常) 正しくUTF-16と認識 1200

6. 失敗パターンと管理者へ確認する情報

実際の業務でよくある失敗パターンをいくつか紹介します。また、社内のルールでPower Queryの設定を変更できない場合や、OneDriveの同期設定に関する情報が必要な場合は、管理者に以下の点を確認してください。

失敗パターン1: 一度エンコードを間違えて保存してしまった

Power Queryでエンコードを誤ったまま「閉じて読み込む」を実行すると、その後の手動修正が難しくなります。クエリの設定を元に戻すには、「クエリと接続」から該当クエリを削除し、再度作成し直す必要があります。必ずプレビューで文字化けが解消されたことを確認してから読み込んでください。

失敗パターン2: OneDriveの「ファイルをオンデマンドで同期」が原因

OneDriveの設定で、「ファイルをオンデマンドで同期する」が有効になっていると、クラウド上のファイルの一部しかローカルにダウンロードされず、Power Queryが不完全なファイルを読み込むことがあります。この場合、エクスプローラーで該当ファイルを右クリックし、「常にこのデバイスに保持」を選択してからクエリを更新すると改善します。

管理者へ確認する情報

  • CSVファイルの出力元システムの文字コード設定(多くの場合はShift_JISかUTF-8)
  • Power Queryのエンコード指定が組織のポリシーで制限されていないか
  • OneDriveの同期設定で「ファイルをオンデマンドで同期」が強制適用されているかどうか
  • 社内でCSVファイルにBOMを付与するルールがあるかどうか

7. よくある質問(FAQ)

Q1. Power Queryで文字コードを指定しても文字化けが直らない場合、どうすればいいですか?

A. まずCSVファイル自体をメモ帳で開き、文字コードが本当に指定したものと一致しているか確認してください。また、区切り文字がカンマ以外(タブなど)の可能性もあるため、Delimiterの指定も見直します。それでも直らない場合は、ファイルの先頭に不要なバイトが含まれていないかバイナリエディタで確認するか、ファイルを新規作成し直すことをお勧めします。

Q2. OneDrive上のファイルをPower Queryで読み込む時、URLパスとローカルパスでは挙動が違いますか?

A. 違いはほとんどありません。ただし、URLパスを使用する場合は認証が必要な場合があり、Power Queryのデータソース設定で資格情報を正しく設定する必要があります。初回接続時にサインインを求められることがあります。

Q3. 文字コードの指定を数式で行ったが、クエリを更新するたびにリセットされてしまいます。

A. 数式バーを編集した後、必ず「閉じて読み込む」または「閉じて次へ読み込む」を実行してクエリを保存してください。また、OneDriveのファイルパスが変更された場合も設定が失われることがあります。元の数式をメモ帳などに保存しておくと安心です。

まとめ

Power QueryでOneDrive上のCSVが文字化けする場合、まずファイルの実際の文字コードを確認し、Power Queryのソースステップで明示的にEncodingを指定することで解決できます。特にShift_JISのCSVファイルはUTF-8と誤認されやすいため、Encoding=932を設定することを検討してください。また、OneDriveの同期設定が原因で不完全なファイルが読み込まれることもあるため、ファイルをローカルに完全に保持する設定にしておくとトラブルを減らせます。組織内でCSVの文字コードルールが統一されていない場合は、管理者と相談してBOM付きUTF-8に統一することを推奨します。


📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】

ADVERTISEMENT