Power Queryを使ってCSVやデータベースから数値データを読み込むと、意図せず小数点がカンマとして扱われることがあります。これは地域のロケール設定が原因で、小数点と桁区切りの記号が逆に解釈される現象です。特に、海外のデータや異なる地域設定のファイルを扱う業務で発生しやすく、集計や分析の際に誤った数値として認識されるリスクがあります。本記事では、この問題の原因を切り分け、Power Queryのロケール設定を適切に変更する方法を詳しく解説します。
【要点】この記事で確認すること
- 最初に見る場所: Power Queryエディターの「データ型の変更」ステップで小数点と桁区切りのアイコンが正しいか確認します。また、クエリの「ロケール」設定がファイルの元の地域と一致しているか確認してください。
- 切り分けの軸: 問題が端末側(Windowsの地域設定)、アカウント側(Excelの地域設定)、管理設定側(組織のグループポリシー)のどのレイヤーで発生しているかを切り分けます。まずはPower Queryのロケール変更で解決するかを試し、解決しない場合はWindowsの地域設定を確認します。
- 注意点: 会社PCでWindowsの地域設定を変更する場合は、管理者に確認してから行ってください。Power Queryのデフォルトロケールを変更する方法は、管理者によるポリシー設定が必要な場合があります。
ADVERTISEMENT
目次
原因:ロケール設定の違いが引き起こす問題
Power Queryはデータを読み込む際に、システムのロケールやクエリに設定されたロケールに基づいて小数点と桁区切りを判断します。例えば、日本語ロケールでは小数点にピリオド(.)、桁区切りにカンマ(,)が使われますが、ドイツ語ロケールでは小数点にカンマ(,)、桁区切りにピリオド(.)が使われます。この違いにより、海外のデータをそのまま読み込むと小数点がカンマとして認識されてしまいます。
よくあるロケールの違い
| ロケール | 小数点記号 | 桁区切り記号 | 数値の例 |
|---|---|---|---|
| 日本語 (日本) | . (ピリオド) | , (カンマ) | 1,234.56 |
| 英語 (米国) | . (ピリオド) | , (カンマ) | 1,234.56 |
| ドイツ語 (ドイツ) | , (カンマ) | . (ピリオド) | 1.234,56 |
| フランス語 (フランス) | , (カンマ) | (スペース) | 1 234,56 |
このように、ロケールによって小数点と桁区切りの解釈が異なるため、元のデータがどのロケールで作成されたかを意識することが重要です。
確認手順:Power Queryのロケール設定を確認する
問題を切り分けるため、まずPower Queryエディターで現在のロケール設定を確認します。
手順
- Excelでデータを読み込み、Power Queryエディターを開きます(データタブ → データの取得と変換 → クエリの編集)。
- 左側のクエリウィンドウで該当のクエリを選択し、右側の「クエリの設定」ペインを表示します。
- 「適用されたステップ」で「データ型の変更」ステップを見つけます。通常は「変更の種類」と表示されます。
- そのステップの歯車アイコン(設定)をクリックします。
- 表示されるダイアログで「ロケール」の設定を確認します。デフォルトは「既定のロケールを使用」となっており、システムのロケールに依存します。
- 必要に応じて、元のデータに合ったロケール(例:ドイツ語(ドイツ))に変更し、OKをクリックします。
修正方法:ロケールを指定してデータを読み込む
ロケール設定を確認したら、適切なロケールを指定して数値変換を行います。以下の方法で、元のデータの書式に合わせた変換が可能です。
手順:Power Queryエディターでロケールを変更する
- 「データ型の変更」ステップのダイアログで「ロケール」ドロップダウンから該当するロケールを選択します。例えば、ドイツのデータなら「ドイツ語(ドイツ)」を選びます。
- 各列に対して「データ型」を「小数点数」や「整数」など適切な型に変更します。
- OKをクリックして変更を適用します。
- ホームタブの「閉じて読み込む」または「閉じて次に読み込む」でデータをExcelに反映します。
- 数値が正しく認識されているか確認します。例えば「1.234,56」が「1234.56」と表示されることを確認します。
別の方法:Power Queryの詳細エディターで直接指定する
より細かく制御したい場合は、詳細エディターで Locale パラメーターを指定します。以下の例では、ドイツロケールでテキスト列を小数点に変換します。
let
ソース = Csv.Document(File.Contents("C:\data.csv"),[Delimiter=",", Encoding=1252]),
#"型の変更" = Table.TransformColumnTypes(ソース,{{"列1", type number}, {"列2", type number}}, "de-DE")
in
#"型の変更"
このように "de-DE" とロケールコードを指定することで、その列の数値変換を強制できます。
ADVERTISEMENT
失敗パターンと対処例
実際に遭遇しやすい失敗パターンとその対処法を紹介します。
パターン1:CSVファイルの小数点がカンマなのに、そのまま読み込まれる
例えば、ドイツのシステムから出力されたCSVファイルの数値が「1,23」と小数点カンマで記述されている場合、Power Queryのデフォルトロケールが日本語だと「1.23」ではなく「123」と解釈されます。この場合、ロケールを「ドイツ語(ドイツ)」に変更すると正しく「1.23」に変換されます。
パターン2:データ型の変更ステップが複数ある
既存の「変更の種類」ステップの後に手動で列のデータ型を変更した場合、ロケール設定が引き継がれないことがあります。その場合は、該当する「変更の種類」ステップのロケールを再設定するか、そのステップを削除して新しくロケール指定付きのステップを作成してください。
パターン3:データソース自体が混在している
一つのクエリ内で複数のロケールのデータが混ざっている場合、単一のロケール指定では対応できません。この場合は、列ごとにカスタム関数を使って変換するか、一旦テキストとして読み込んで後から数値に変換する必要があります。
管理者に確認すべき設定
会社のPCでPower Queryを使用する場合、以下の点を管理者に確認してください。
- Windowsの地域設定: コントロールパネルの「地域」設定で小数点記号が変更可能ですが、組織のポリシーで制限されている場合があります。変更が必要な場合は管理者に依頼してください。
- Excelの地域設定: ファイル → オプション → 言語で表示言語や編集言語が設定できますが、Power Queryのロケールはこれに依存しません。ただし、Excelの数式や表示に影響を与えるため、管理者の指示に従ってください。
- グループポリシー: 大規模組織ではグループポリシーで地域設定が固定されている場合があります。その場合、Power Queryのロケール変更はクエリ単位でのみ可能です。
よくある質問
Q1. ロケールを変更しても正しく変換されない場合はどうすればよいですか?
まず、データソースの元の書式を再確認してください。例えば、小数点がカンマではなくピリオドで記述されているのに誤ってドイツロケールを指定すると逆に誤変換されます。また、数値として認識されるべき列がテキストとして読み込まれている場合、先に「データ型の変更」ステップで列の型をテキストから数値に変更し、その際にロケールを指定してください。
Q2. Power Queryのデフォルトロケールを変更することはできますか?
Power Query自体にデフォルトロケールを設定する機能はありませんが、各クエリごとにロケールを指定できます。頻繁に使用するロケールがあれば、クエリテンプレートとして保存しておくと便利です。
Q3. 複数の列で異なるロケールが必要な場合はどうすればよいですか?
その場合、列ごとに別々の「データ型の変更」ステップを作成し、それぞれ異なるロケールを設定します。または、カスタム列を作成して Number.FromText([列名], "de-DE") のような関数を使用してください。
まとめ
Power Queryで小数点がカンマ扱いになる問題は、ロケール設定の不一致が原因です。最初にPower Queryエディターの「データ型の変更」ステップでロケールを確認し、元のデータに合わせて修正することで解決できます。失敗パターンとして、複数ロケールの混在やデータ型変更の順序に注意が必要です。会社PCで設定を変更する際は管理者の指示を仰ぎ、組織のポリシーに従ってください。適切なロケール設定により、数値データの正確な取り込みが可能になります。
ADVERTISEMENT
超解決 Excel・Word研究班
企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。
Office・仕事術の人気記事ランキング
- 【Word】差し込み印刷で数字の桁を整える!金額にカンマ(桁区切り)を入れる設定
- 【Teams】メッセージを「保存済み」にして後で読む!重要なチャットをブックマークして整理する技
- 【PDF】PDFのサムネイルプレビューが表示されない!エクスプローラーの設定とAcrobat環境設定
- 【Copilot】「サービスに接続できません」エラーの原因切り分けと対処法
- 【Excel】文字がセルの枠からはみ出す・隠れる!「折り返して表示」と「縮小して全体を表示」の使い分け
- 【PDF】PDFに入力した文字の「フォント・サイズ・色」を変更するプロパティ設定
- 【Word】校閲機能の基本!赤字(変更履歴)とコメントで修正を見える化する
- 【Outlook】添付ファイルが「Winmail.dat」に化ける!受信側が困らない送信設定
- 【Outlook】宛先が「オートコンプリート」に出ない・間違っている時の修正手順|履歴の削除と再構築
- 【PDF】結合するPDFの「用紙サイズ」がバラバラな時、すべてを「A4サイズ」に強制リサイズしてから結合する
