ADVERTISEMENT

【Excel】Power Queryで小数点がカンマ扱いになる時のロケール設定確認

【Excel】Power Queryで小数点がカンマ扱いになる時のロケール設定確認
🛡️ 超解決

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

このように、ロケールによって小数点と桁区切りの解釈が異なるため、元のデータがどのロケールで作成されたかを意識することが重要です。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

確認手順:Power Queryのロケール設定を確認する

問題を切り分けるため、まずPower Queryエディターで現在のロケール設定を確認します。

手順

  1. Excelでデータを読み込み、Power Queryエディターを開きます(データタブ → データの取得と変換 → クエリの編集)。
  2. 左側のクエリウィンドウで該当のクエリを選択し、右側の「クエリの設定」ペインを表示します。
  3. 「適用されたステップ」で「データ型の変更」ステップを見つけます。通常は「変更の種類」と表示されます。
  4. そのステップの歯車アイコン(設定)をクリックします。
  5. 表示されるダイアログで「ロケール」の設定を確認します。デフォルトは「既定のロケールを使用」となっており、システムのロケールに依存します。
  6. 必要に応じて、元のデータに合ったロケール(例:ドイツ語(ドイツ))に変更し、OKをクリックします。

修正方法:ロケールを指定してデータを読み込む

ロケール設定を確認したら、適切なロケールを指定して数値変換を行います。以下の方法で、元のデータの書式に合わせた変換が可能です。

手順:Power Queryエディターでロケールを変更する

  1. 「データ型の変更」ステップのダイアログで「ロケール」ドロップダウンから該当するロケールを選択します。例えば、ドイツのデータなら「ドイツ語(ドイツ)」を選びます。
  2. 各列に対して「データ型」を「小数点数」や「整数」など適切な型に変更します。
  3. OKをクリックして変更を適用します。
  4. ホームタブの「閉じて読み込む」または「閉じて次に読み込む」でデータをExcelに反映します。
  5. 数値が正しく認識されているか確認します。例えば「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で設定を変更する際は管理者の指示を仰ぎ、組織のポリシーに従ってください。適切なロケール設定により、数値データの正確な取り込みが可能になります。


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

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

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

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

ADVERTISEMENT