ExcelのPower Queryを使ってデータを読み込むと、日付列が勝手に「2024/01/02」ではなく「1/2/2024」のような米国形式(月/日/年)に変わってしまうことがあります。この現象は、特にCSVやデータベースからインポートした際に発生しやすく、集計や並べ替えに影響を及ぼすため、早急な対処が必要です。原因の多くはロケール設定の不一致にあります。本記事では、Power Queryで日付列が米国形式に変わる原因と、ロケール設定を正しく確認・修正する手順を具体的に解説します。
【要点】この記事で確認すること
- 最初に見る場所: Power Queryの「クエリエディタ」内のロケール設定と、Windowsの地域設定(書式)です。この2つを一致させることが基本です。
- 切り分けの軸: 問題が1つのクエリだけか、すべてのクエリかで分けます。特定のクエリであればPower Query内のロケール設定、全体であればWindowsの地域設定やExcelのオプションが原因です。
- 注意点: 会社PCではWindowsの地域設定を変更できない場合があります。その場合はPower Query内でロケールを「日本語(日本)」に明示的に指定するか、管理者に依頼してください。
ADVERTISEMENT
目次
1. なぜ米国形式になるのか?原因と仕組み
Power Queryは、データのインポート時に日付の解釈をWindowsの地域設定に依存します。しかし、Power Query独自のロケール設定が優先されることもあります。ここでは、その仕組みを詳しく見ていきましょう。
ロケール設定とは
ロケールとは、言語や国・地域に応じた日付、時刻、数値の表示形式を定める設定です。例えば、日本では「2024年1月2日」または「2024/01/02」のように年/月/日の順が一般的ですが、米国では「January 2, 2024」または「1/2/2024」のように月/日/年順となります。Power Queryはデータの読み取り時に、このロケール情報を基に日付を解釈するため、ロケールが日本に設定されていないと米国形式で表示されることがあります。
Power Queryでの日付解釈の仕組み
Power Queryは、データソースから取得した日付文字列を、以下の優先順位で解釈します。
- クエリエディタ内で指定されたロケール(「データ型の変換」時に指定可能)
- Excel全体のオプションで設定されたロケール(ファイル>オプション>言語)
- Windowsの地域設定(コントロールパネル>時計と地域>地域)
このいずれかが米国形式になっていると、日付列が米国形式として解釈され、結果的に月と日が入れ替わることがあります。例えば「02/01/2024」は日本では2024年2月1日ですが、米国では2024年1月2日として扱われます。このような解釈の違いが、データの不整合を引き起こします。
2. ロケール設定を確認する手順(PC全体とPower Query内)
まずは現在のロケール設定を確認しましょう。以下の手順で、Windowsの地域設定とPower Queryのロケール設定をチェックします。
Windowsの地域設定の確認
- Windowsの「スタート」ボタンをクリックし、「設定」(歯車アイコン)を開きます。
- 「時刻と言語」をクリックし、左メニューから「言語と地域」を選択します。
- 「地域」セクションで「国または地域」が「日本」になっているか確認します。また、「表示言語」も「日本語」に設定されていることを確認します。
- さらに「詳細設定」をクリックし、「地域設定」タブの「形式」が「日本語(日本)」になっているか確認します。もし「英語(米国)」などになっていれば、日本語に変更します。
なお、会社PCではグループポリシーで地域設定が固定されている場合があります。その場合は変更できないため、後述のPower Query内での設定を試みてください。
Power Queryのロケール設定の確認(クエリエディタのオプション)
- ExcelでPower Queryを開きます(データタブ>データの取得と変換>クエリの表示)。
- クエリエディタが起動したら、左上の「ファイル」メニューをクリックし、「オプションと設定」>「クエリオプション」を選択します。
- 「現在のブック」セクションにある「ロケール」を確認します。「ロケール」が「日本語(日本)」になっていない場合、ドロップダウンから変更できます。
- また、「グローバル」>「データの読み込み」にある「ロケール」も確認し、同様に日本語に設定します。
- 変更後、「OK」をクリックしてクエリエディタを閉じ、再度データを読み込み直して問題が解決したか確認します。
3. 実際のトラブル事例と失敗パターン
具体的な状況を想定して、失敗例とその原因を整理します。以下の比較表を参考に、自分のケースに当てはめてみてください。
| 状況 | 期待する日付形式 | 実際に表示された日付 | 原因 |
|---|---|---|---|
| CSVファイルからインポート (データ内の日付が「2024/01/02」) |
2024/1/2 | 1/2/2024 | Power Queryのロケールが英語(米国) |
| データベースから接続(日付列が日時の文字列) | 2024-02-01 | 2024-01-02(月日逆転) | Windowsの地域設定が英語(米国) |
| Power Queryで手動入力した日付 | 2024/01/02 | #ERROR | ロケールと形式が不一致でエラー |
CSVファイルを読み込んだ時に日付が米国形式になる
CSVファイルはプレーンテキストであり、日付の形式を示すメタデータがありません。そのためPower Queryは、ファイルの内容をすべて文字列として読み込み、その後データ型を推測する際にロケール設定に従います。もしロケールが米国設定だと、「01/02/2024」は2024年1月2日と解釈されますが、実際のデータが2024年2月1日だった場合、月と日が入れ替わってしまいます。
日付が月と日入れ替わりでエラーになる
特に問題となるのは、日付が「2/1」のように月と日が両方とも12以下の場合です。例えば「2/1/2024」は日本では2月1日、米国では1月2日と解釈されます。どちらも日付として有効なため、Power Queryはエラーを出さずに読み込んでしまいますが、後続の処理で誤った値が使われることになります。これを防ぐには、ロケール設定を正しく行うか、読み込み時に明示的に日付の順序を指定する必要があります。
ADVERTISEMENT
4. ロケールを正しく設定する方法(Power Query内で修正)
Windowsの地域設定を変更できない場合でも、Power Query内でロケールを指定することで問題を解決できます。以下の手順で修正してください。
クエリエディタでロケールを変更する手順
- Power Queryエディタを開き、ロケールを変更したいクエリを選択します。
- 変換タブの「データ型」グループにある「ロケール」ボタンをクリックします(またはリボンにない場合は、該当列を右クリック>「データ型の変更」>「ロケールを使用」)。
- 「ロケールの選択」ダイアログで「日本語(日本)」を選択し、「OK」をクリックします。
- 日付列に対して、データ型を「日付」に変更します。このとき、ロケールが日本語になっていることを確認してください。
- 変更後、「閉じて読み込む」でExcelシートにデータを読み込み、日付が正しい形式になっているか確認します。
データ型の変換時にロケールを指定する
データ型変換の際に、より細かくロケールを指定することも可能です。例えば、日付列を右クリックし、「データ型の変更」>「日付」を選択すると、下部に「現在のロケールを使用」または「特定のロケールを使用」のオプションが表示されます。ここで「日本語(日本)」を選択してから変換を実行します。これにより、その列だけ日本形式で解釈されるようになります。
5. 管理者へ依頼すべき設定(会社PCで注意すべき点)
会社PCでは、セキュリティポリシーによりWindowsの地域設定やExcelのロケール設定が変更できない場合があります。その際は、以下の点を管理者に相談してください。
グループポリシーによるロケール固定
多くの企業では、グループポリシーで地域設定を「日本語(日本)」に固定しているはずです。しかし、誤って「英語(米国)」に設定されているケースもまれにあります。管理者に確認を依頼し、必要であれば修正を依頼しましょう。また、Power Queryのロケール設定はユーザーごとに保存されますが、グループポリシーで上書きされる可能性もあります。
Power BIとの連携時
Power BIサービスと連携している場合、Power BIのデータセットロケールも影響します。Power BI Desktopで作成したクエリをExcelのPower Queryで再利用する際、ロケール設定が引き継がれずに米国形式になることがあります。この場合、Power BI側でロケールを日本語に設定するか、Excel側で個別に修正する必要があります。管理者に依頼して、共通のテンプレートやポリシーを整備してもらうとよいでしょう。
6. よくある質問(FAQ)
Q1: すべてのクエリで日付が米国形式になってしまいます。原因は何ですか?
A1: Windowsの地域設定が「英語(米国)」になっている可能性が高いです。設定を確認し、日本語に変更してください。変更できない場合は、Power Queryのグローバルロケール設定を日本語に変更します。
Q2: 特定のCSVファイルだけ日付が乱れます。ほかのファイルは大丈夫です。
A2: そのCSVファイルの日付形式が「MM/DD/YYYY」で記述されている可能性があります。Power Queryはロケールに応じて解釈するため、ファイルの内容とロケールが合っていないと問題が発生します。ファイルの元データを確認するか、Power Queryで読み込む際にロケールを明示的に指定してください。
Q3: ロケールを日本語に変更しても、日付が「2024/1/2」のように表示されません。「2024-01-02」と表示されます。
A3: それは表示形式の問題です。Power Queryで日付型として認識されていれば、Excelシート上でセルの書式設定を変更することで好きな形式に変更できます。日付列を選択し、ホームタブの「数値の書式」で「短い日付」や「ユーザー定義」で「yyyy/mm/dd」と設定してください。
Q4: 管理者に相談する前に、自分で設定を変更しても大丈夫ですか?
A4: Power Query内のロケール設定はワークブック単位で変更できるため、個人の操作で問題ありません。ただし、Windowsの地域設定を変更する場合は、会社のポリシーに違反する可能性があるので、まずはPower Query内の設定で対処することをおすすめします。どうしてもWindowsの設定変更が必要な場合は、管理者に確認してください。
7. まとめ
Power Queryで日付列が米国形式に変わる問題は、ロケール設定の不一致が主な原因です。最初にWindowsの地域設定を確認し、次にPower Queryのクエリオプションまたは列ごとのロケール設定をチェックしましょう。会社PCで制限がある場合は、Power Query内で日本語ロケールを明示的に指定することで回避できます。日付の解釈はデータの正確性に直結するため、この記事の手順を参考に、適切な設定を行ってください。再発防止のためには、データソース側で日付形式を統一するか、読み込み時にロケールを固定するM言語のカスタム関数を用意することも有効です。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
