DataFormat.Error: データ処理で値を数値に変換できません
この記事では、 「 DataFormat.Error: 数値に変換できませんでした」という問題の解決に焦点を当てています。ExcelまたはPower BIでPower Query を使用すると、データ分析とレポート機能が強化されますが、一貫性のない形式を扱う場合など、ユーザーはデータ型の変換に関連する課題に頻繁に遭遇する可能性があります。
区切り文字が正しくない、データ型が混在している、地域設定に関連する問題など、これらの要因により、Power Query がデータを誤って解釈する可能性があります。この誤った解釈により、次のような変換エラーが発生します。
DataFormat.Error: 数値に変換できませんでした。詳細: [error_details]
このガイドでは、エラーの一般的な原因を詳しく説明し、トラブルシューティングのための効果的な解決策を提供します。
DataFormat.Error を解決しています: 数値に変換できませんでした
Power Query for ExcelまたはPower BIでDataFormat.Error: 数値に変換できませんでした という問題を解決するには、次の方法を検討してください。
- 自動「タイプの変更」ステップを削除します
- 数値以外の値を削除する
- 変換前にデータを標準化し、クレンジングする
- 区切り文字とロケールを手動で設定する
- 小数点と千の位の区切りを適宜調整します
それぞれの解決策を詳しく見てみましょう。
1] 自動「タイプの変更」ステップを削除する
Power Query は、データのインポート時に「型の変更」手順を自動的に追加することが多く、最初の 1,000 行のサンプルに基づいてデータ型を割り当てようとします。データセットに、同じ列内に数値とテキストなどの混合型が含まれている場合、この自動プロセスによって「DataFormat.Error: 数値に変換できませんでした」というメッセージが表示されることがあります。
これを解決するには、Excel の [データ]タブに移動し、 [データの取得] > [Power Query エディターの起動]を選択します(または、 Power BI で[データの変換]をクリックします)。
Power Query エディター ウィンドウの右側のサイドバーに、[適用された手順]セクションがあります。[変更された型] ステップが表示された場合は、型の自動割り当てを示しています。このステップの横にある[X] をクリックして削除し、Power Query による自動変換を防止します。
「変更されたタイプ」ステップをクリアした後、正確性を確保するために各列のデータ型を手動で指定します。
2] 数値以外の値を削除する
テキストと数値のエントリが組み合わされた列 (「ABC 123」など) では、Power Query が全体的に数値変換を試行し、前述のエラーが発生する可能性があります。これを修正するには、次の操作を行います。
- 列のデータ型を「テキスト」に変更し、値の置換機能を使用して誤ったエントリを修正し、その後、データ型を「10 進数」に戻します。
- 列の分割機能を使用して、特定の区切り文字でデータを分割し、数値セグメントに「数値」タイプを適用し、他のセグメントに「テキスト」を適用します。
- 列を数値形式に変換する前に、存在すべきではない非数値エントリを含む行を除外します。
数値以外のエントリを除外したら、元の列のデータ型の変更は問題なく続行されるはずです。
3] 型変換前にデータを標準化し、クレンジングする
Web サイトやさまざまなソースから取得されたデータには、改行不可のスペースや「&」や「,」などの記号が含まれている場合があり、Power Query による列の変換や結合が複雑になります。
変換メニューで利用可能なCLEANおよびTRIM機能を利用して、これらの不要な文字を削除します (TRIM 機能は余分なスペースを削除し、CLEAN は印刷できない文字をすべて削除します。これは、外部データのインポートをクリーンアップする場合に特に便利です)。
これらの関数を適用した後、列のデータ型をもう一度設定してみてください。
4] 区切り文字とロケールを手動で設定する
データに特定の地域形式が含まれる場合は、Power Query が正しい区切り文字とロケールで動作するようにすることが重要です。たとえば、小数点にコンマを使用するヨーロッパのデータを処理する場合は、[ファイル] > [オプション] > [クエリ オプション] > [地域の設定]に移動し、ロケールオプションを変更してデータ ソースを正確に反映することで、ロケール設定を手動で調整します。
単一の列の場合は、[タイプの変更] > [ロケールの使用]オプションを使用して、適切な地域設定を適用して適切な変換を行うことができます。
さらに、CSV ファイルを扱うときは、データの区切り文字としてカンマまたはセミコロンが使用されているかどうかを確認し、インポート時にこれらの設定を適宜調整します。
5] 小数点と千の位の区切りを適宜調整する
最後に、小数点と千単位の区切り記号が一致していないために Power Query で数値変換がうまくいかない場合は、値の置換機能を使用して、一致しない区切り記号を修正します (たとえば、ヨーロッパの書式に合わせて「.」を「,」に置き換えます)。
トラブルシューティングのヒントはこれで終わりです。
DataFormat エラーを解決するにはどうすればよいでしょうか: 数値に変換できませんでした。
処理する列が「テキスト」または「数値」として正確にフォーマットされていることを確認します。「DataFormat.Error: 数値に変換できませんでした」というエラー メッセージが表示された場合は、エラー メッセージの「詳細」セクションを確認してください。このセクションには、Power Query が数値として処理できない特定のエントリまたは文字が強調表示されていることがよくあります。1 つの列にテキストと数値の両方の型が存在する場合は、それを別の列に分割してから、適切なデータ型を数値列に割り当てることを検討してください。
Excel で数値に変換できないのはなぜですか?
セルが「テキスト」としてフォーマットされていたり、改行なしスペースや特殊記号などの隠し文字が含まれていたりすると、Excel はテキストで保存された数値を数値形式に変換できないことがあります。また、影響を受けるセルが結合されている場合、Excel は数値変換などの特定の機能を制限することがあります。変換を試みる前に、必ずそれらのセルの結合を解除してください。
コメントを残す