Excelで大量のデータを扱う際、Power Queryは非常に強力なツールです。しかし、外部から取り込んだデータには、欠損値や意図しない記号、書式エラーなど、クレンジングが必要な行が含まれることがよくあります。これらのエラー行をそのままにしておくと、後続の分析や集計に支障をきたす可能性があります。本記事では、Power Queryを使ってエラー行を効率的に特定し、フィルタで除外する具体的な手順を解説します。これにより、データ取り込み時のクレンジング作業を大幅に効率化できます。
Power Queryのエラー行は、データソースの不整合や取り込み時の問題が原因で発生します。これらのエラー行を適切に処理することで、データの信頼性を高め、より正確な分析結果を得ることが可能になります。この記事を読めば、Power Queryでのデータクレンジングの基本をマスターし、業務の質を向上させることができます。
ADVERTISEMENT
目次
Power Queryにおけるエラー行の発生原因
Power Queryでデータを取り込む際、エラー行が発生する主な原因はいくつかあります。データソース側の問題、取り込み設定の不備、あるいはデータ形式の不一致などが考えられます。これらの原因を理解することで、エラー発生時の対処が容易になります。
データソース側の問題としては、数値項目に文字列が混入していたり、日付項目に無効な日付が入力されている場合などが挙げられます。また、CSVファイルなどで区切り文字が不適切であったり、文字コードが異なったりする場合もエラーの原因となります。Power Query側では、列のデータ型を意図せず変更した場合や、不適切な変換ステップを追加した場合にもエラーが発生することがあります。
エラー行を特定するためのフィルタリング手順
Power Queryエディターでデータを取り込んだ後、エラー行を特定し、フィルタリングで除外する手順を説明します。この手順により、クリーンなデータセットのみをExcelシートに読み込むことが可能になります。
- Power Queryエディターを開く
Excelのリボンメニューから「データ」タブを選択し、「データの取得」または「テーブル/範囲から」をクリックしてPower Queryエディターを起動します。 - エラー表示のある列を確認する
データが読み込まれたら、各列のヘッダーにエラーが表示されていないか確認します。エラーアイコンが表示されている列は、その行に問題がある可能性が高いです。 - エラーフィルタを適用する
エラーが表示されている列のヘッダーにあるフィルタボタン(下向き矢印)をクリックします。表示されるメニューから「エラー」を選択してチェックを入れ、「OK」をクリックします。これにより、エラーが含まれる行のみが表示されます。 - エラー行を除外する
エラー行のみが表示されたら、再度列ヘッダーのフィルタボタンをクリックします。今度は「エラー」のチェックを外して「OK」をクリックします。または、エラー行が表示された状態で、リボンの「ホーム」タブから「行の削除」>「エラーのある行の削除」を選択します。 - 変換を適用してExcelに読み込む
エラー行が除外されたことを確認したら、「ホーム」タブの「閉じて読み込む」をクリックして、クリーンなデータをExcelシートに読み込みます。
特定のデータ型エラーを除外する方法
エラー行の除外は、単にエラーアイコンが出ている行だけでなく、特定のデータ型に起因するエラーも対象にすることができます。例えば、数値として扱いたい列に文字列が混入している場合などです。
数値列の文字列エラーを除外する
数値として取り込みたい列に、予期せず文字列データが含まれている場合、その列のデータ型を「10進数」などに設定しようとするとエラーが発生します。このエラー行を除外する手順は以下の通りです。
- 対象列のデータ型を変更する
エラーが発生する可能性のある列を選択し、リボンの「変換」タブにある「データ型」から、適切な数値型(例:「10進数」)を選択します。この操作でエラーが発生した行が特定できます。 - エラーフィルタを適用する
データ型変更後にエラーが表示された列のヘッダーフィルタボタンをクリックし、「エラー」を選択して「OK」をクリックします。 - エラー行を削除する
表示されたエラー行を削除します。リボンの「ホーム」タブから「行の削除」>「エラーのある行の削除」を選択するのが最も簡単です。
日付列の無効な日付エラーを除外する
日付として取り込みたい列に、Excelが認識できない形式の日付や無効な日付(例:2月30日)が含まれている場合もエラーとなります。この場合も同様の手順で除外できます。
- 対象列のデータ型を日付に変更する
日付として扱いたい列を選択し、「変換」タブの「データ型」から「日付」を選択します。 - エラーフィルタを適用する
エラーが表示された列のヘッダーフィルタボタンから「エラー」を選択し、「OK」をクリックします。 - エラー行を削除する
「ホーム」タブの「行の削除」>「エラーのある行の削除」を選択して、無効な日付を含む行を削除します。
ADVERTISEMENT
Power Queryでのデータクレンジングの応用
エラー行のフィルタリングは、Power Queryによるデータクレンジングの基本です。さらに応用することで、より高度なデータ整形が可能になります。
欠損値(null)の処理
エラー行とは別に、データが欠損している「null」値も多く見られます。これらは、フィルタリングや置換操作で処理できます。
- null値のフィルタリング
特定の列でnull値を含む行を除外したい場合、その列のヘッダーフィルタボタンから「null」のチェックを外します。 - null値の置換
null値を特定の文字列(例:「不明」)や数値(例:0)に置き換えたい場合は、「ホーム」タブの「値の置換」機能を使用します。「検索する値」に「null」を入力し、「置換後の値」に希望する値を入力して「OK」をクリックします。
不要な文字や記号の削除
データ内に不要なスペース、記号(例:¥マーク、カンマ)、あるいは改行コードなどが含まれている場合、これらもクレンジングの対象となります。
- トリム(空白削除)
文字列の先頭や末尾にある不要な空白を削除するには、列を選択した状態で「変換」タブの「書式」>「トリム」を選択します。 - 不要な文字の置換
特定の記号や文字を削除するには、「ホーム」タブの「値の置換」機能を使用します。「検索する値」に削除したい文字を入力し、「置換後の値」を空白にして「OK」をクリックします。
Power QueryとVBAの比較
データクレンジングの手段として、Power Query以外にVBA(Visual Basic for Applications)を使用する方法もあります。それぞれの特徴を比較し、どちらが適しているか判断します。
| 項目 | Power Query | VBA |
|---|---|---|
| 操作の自動化 | 取り込みと整形プロセス全体を自動化できる。一度設定すれば再実行が容易 | コード記述により自動化。複雑な処理も可能だが、記述量が増えやすい |
| 学習コスト | GUI操作が中心で、比較的容易。M言語の学習は必要に応じて | プログラミング知識が必要。習得に時間がかかる場合がある |
| 処理速度 | 大量データでも高速。特にデータソースが多い場合に有利 | データ量やコードの効率に依存。場合によってはPower Queryより遅くなることも |
| エラー処理 | エラー行のフィルタリングや置換が直感的に行える | エラーハンドリングのコードを記述する必要がある |
| 柔軟性 | 定型的なクレンジング作業に強い。複雑な条件分岐はM言語で対応 | 非常に柔軟。あらゆる条件やロジックに対応可能 |
まとめ
Power Queryを使えば、Excelデータ取り込み時のエラー行を効率的にフィルタリングし、クレンジングできます。本記事で解説したエラーフィルタの適用や、データ型エラーの除外手順をマスターすることで、データの前処理にかかる時間を大幅に短縮できます。さらに、欠損値の処理や不要な文字の削除といった応用的なクレンジングも可能です。今後は、これらの基本的なクレンジング技術を基盤として、より複雑なデータ整形や分析へとステップアップしていくことをお勧めします。
