ADVERTISEMENT

【Excel】Power Queryで数値が文字列として読み込まれる時の型変換手順

【Excel】Power Queryで数値が文字列として読み込まれる時の型変換手順
🛡️ 超解決

Power Queryで外部データを読み込む際、数値であるべき列が文字列として認識されることがあります。この現象は集計や計算に支障をきたすため、迅速に原因を特定し、適切な型変換を行う必要があります。本記事では、数値が文字列として読み込まれる原因を整理し、Power Query Editorを使った具体的な型変換手順を解説します。また、失敗しやすいパターンや管理者に確認すべき設定についても触れます。

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

  • 最初に見る場所: Power Query Editorの「データのプレビュー」で各列のアイコン(ABCや123)を確認します。また、クエリ設定の「ステップ」をチェックします。
  • 切り分けの軸: データソース(CSV、Excel、データベース)の種類、Power Queryの自動型検出設定、列の実際の値に空白や記号が含まれていないかを確認します。
  • 注意点: 会社PCで共有されているデータソースやPower Queryの既定のロケール設定を勝手に変更すると、他のユーザーに影響する場合があります。変換前に元のデータをバックアップしてください。

ADVERTISEMENT

数値が文字列として読み込まれる主な原因

Power Queryが数値を文字列と判断する理由はいくつかあります。まず、データソースがCSVファイルの場合、数値がダブルクォーテーションで囲まれていると、Power Queryはその列をテキストとして扱います。また、Excelのセル書式が文字列になっている場合も同様です。さらに、列の中に数値として解釈できない値(空白、記号、単位付きの文字列など)が1つでも混ざると、列全体が文字列型になります。Power Queryの自動型検出は最初の200行程度をサンプリングして判断するため、サンプルに異常値が含まれていないと正しく型判定されません。

また、データベースから読み込む場合でも、列の定義が文字列型であればそのまま引き継がれます。ロケールの違いも原因の一つです。例えば、小数点にカンマを使うヨーロッパのデータをピリオド期待のロケールで読み込むと、数値として認識されないことがあります。

自動型検出のしくみ

Power Queryはデータを読み込む際、各列のデータ型を自動的に推測します。このとき、列のすべての値が数値に変換可能であれば数値型に、そうでなければ文字列型に設定されます。変換可能かどうかは、現在のロケール設定に依存します。日本語環境では小数点はピリオド、桁区切りはカンマが標準ですが、CSVファイルに「1,234」のように桁区切りカンマが含まれていると、文字列とみなされる場合があります。

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

基本的な型変換手順(Power Query Editor)

ここでは、読み込み後に列のデータ型を手動で変更する基本的な手順を説明します。Power Query Editorを開いて操作します。

  1. Excelで「データ」タブ→「クエリと接続」をクリックし、対象のクエリを右クリックして「編集」を選択します。これでPower Query Editorが開きます。
  2. プレビュー画面で、型を変更したい列のヘッダー左側にあるアイコンを確認します。ABCアイコンは文字列、123アイコンは数値、日付アイコンなどが表示されます。
  3. 列ヘッダーの左側にあるアイコン(または列名の横のドロップダウン矢印)をクリックし、「データ型の変更」から「整数」「10進数」「固定小数点数」など適切な型を選択します。
  4. 型を変更すると、ステップが追加され、変換前と変換後の状態が確認できます。必要に応じて「元に戻す」も可能です。
  5. すべての列の型を確認したら、「閉じて読み込む」または「閉じて次に読み込む」を選択してクエリを適用します。

注意点として、型変換後に対象列に変換できない値が含まれていると、エラー行が発生します。エラー行は「行の削除」または「エラーの置換」で処理できます。

ロケールを考慮した変換

小数点がカンマのデータを扱う場合、Power Query Editorで「ロケール」を指定して変換できます。列を右クリックし、「データ型の変更」→「ロケールを使用して変更」を選択します。表示されるダイアログでデータ型とロケール(例:「ドイツ(ドイツ)」)を指定すると、カンマが小数点として認識され数値に変換されます。

状況別の対処法と比較表

原因によって最適な対処法は異なります。以下の表で代表的な状況と推奨手順をまとめました。

状況 原因 推奨手順
CSV読み込みで数値列が文字列になる 値がダブルクォーテーションで囲まれている、または桁区切りカンマが含まれる 「データ型の変更」で数値型を直接指定。またはソースのCSVを開いて不要な引用符を削除する
Excelシートの列が文字列書式だった Excel側でセル書式が文字列になっている Power Query Editorで型を数値に変更。元のExcelの書式を「標準」に直してから再読み込みしてもよい
小数点がカンマ(ヨーロッパ形式) ロケールの不一致 列を右クリック→「データ型の変更」→「ロケールを使用して変更」で適切なロケールを選択
列に空白や記号が混在 数値に変換できない値が存在する 事前に「値の置換」や「条件列」でクレンジングしてから型変換する

ADVERTISEMENT

失敗しやすいパターンとその対策

型変換時に特に注意すべき失敗パターンをいくつか紹介します。

エラー行が発生する

数値型に変換できない値(例:空文字列、「N/A」、「-」など)があると、該当セルが「Error」になります。対策として、変換前に「ホーム」タブの「行の削除」→「エラーの削除」でエラー行を除外するか、「値の置換」で変換可能な値(0や空白)に置き換えます。また、「条件列」を使って数値以外の値を個別に処理することもできます。

データ型を変更しても適用されない

Power Query Editorで型を変更したにもかかわらず、読み込み後に元の型に戻ってしまうことがあります。これは、クエリの「ソース」ステップで自動型検出が再実行される場合に起こります。解決策として、クエリ設定の「ソース」ステップで「型の検出」をオフにします。具体的には、ソースステップの右側にある歯車アイコンをクリックし、「ファイルの元のデータ型を検出する」のチェックを外します。そうすることで、手動で設定した型が優先されます。

データ更新時に毎回型が変わる

外部データを定期的に更新する場合、新しいデータで列の内容が変わると自動型検出が再実行されて型が変わることがあります。対策としては、前述の「型の検出」をオフにするか、型変換のステップをソースステップより後に配置し、固定の型変換ロジックを適用します。また、Power Queryの「データ型の保持」機能を有効にすることも検討します。

管理者に確認すべき設定

会社の共有データソースやPower Queryの設定によっては、個人で変更できない場合があります。以下の点を管理者に確認してください。

  • データソースのアクセス権限: ソースが社内データベースや共有フォルダにある場合、読み取り専用で変更できないことがあります。権限の付与を依頼します。
  • Power Queryの既定ロケール: 組織全体で特定のロケールが強制されている可能性があります。ロケール設定を変更したい場合は、管理者に相談してください。
  • マクロやアドインの制限: セキュリティポリシーにより、Power Queryの一部機能が無効化されていることがあります。必要に応じて設定の緩和を依頼します。
  • データ更新時の動作: 定期的なデータ更新ジョブが組まれている場合、型変換のステップが上書きされないか確認が必要です。管理者にクエリのバージョン管理を依頼します。

よくある質問(FAQ)

Q1. 型変換後に「エラー」と表示される行を削除したい

A. Power Query Editorで「ホーム」タブ→「行の削除」→「エラーの削除」を選択すると、エラーを含む行がすべて削除されます。特定の列だけエラー行を削除したい場合は、該当列でフィルターをかけ、エラーを除外してください。

Q2. 数値のはずなのに「123,456」のようにカンマが入っていて文字列になる

A. その値は桁区切りカンマを含むため、数値として認識されません。「データ型の変更」で数値型を直接指定すると、カンマが無視されて数値になります(例:「123456」)。ただし、ロケールによってはカンマが小数点と解釈される可能性があるので注意してください。

Q3. 毎回手動で型変換するのが面倒

A. 一度Power Query Editorで型変換のステップを作成すれば、クエリを更新するたびに自動的に適用されます。また、クエリを右クリックして「既定のクエリとして保存」しておくと、同じソースに対して再利用できます。

まとめ

Power Queryで数値が文字列として読み込まれる原因は、データソースの書式、自動型検出の仕様、ロケールの違いなど多岐にわたります。基本的な対策として、Power Query Editorで該当列のデータ型を手動で変更する方法が最も簡単です。エラーが発生する場合には、事前にデータをクレンジングするか、ロケールを指定した変換を試してください。定期的に更新するクエリでは、型検出をオフにして型変換ステップを固定することで、安定した運用が可能になります。管理者と連携しながら、原因に合わせた適切な手順を選択することが重要です。


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

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

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

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

ADVERTISEMENT