![見出し画像](https://assets.st-note.com/production/uploads/images/72814210/rectangle_large_type_2_c5045245e9c618318adb14653d8efee9.png?width=800)
【エクセル パワークエリ】列名を指定せずにすべての列のエラーを置換する方法【Excel Power Query】
動画による解説
![](https://assets.st-note.com/img/1669454569266-tfRWwZriu1.png?width=800)
Power Query にはエラーの置換という機能があり、これによってクエリで取得したエラーデータを簡単に別のデータに置換することができます。
![画像1](https://assets.st-note.com/production/uploads/images/72811905/picture_pc_ddebbb0be4e3fd0002aca8c348b38d75.png?width=800)
エラーを置換するには、対象となる列を選択した状態でエラーの置換の機能を実行し、エラーから置き換えたいデータを指定します。
![画像2](https://assets.st-note.com/production/uploads/images/72812245/picture_pc_0b1d14c32a10a18719e5e1eaa16f6a8b.png?width=800)
![画像3](https://assets.st-note.com/production/uploads/images/72812311/picture_pc_9f6bfca8de984c6564c4a5f097996ba4.png?width=800)
![画像4](https://assets.st-note.com/production/uploads/images/72812399/picture_pc_cbc925659c71b01f931a9b5de2cccb2d.png?width=800)
もし、特定の列だけではなく、テーブルに存在するすべての列のエラーデータを置換したいときは、 Ctrl + A ですべての列を選択してからエラーの置換を実行することで、テーブル全体のエラー処理を一度に行うことができます。
![画像5](https://assets.st-note.com/production/uploads/images/72812562/picture_pc_eabfba65730b5cd4c6db911a3272c6ec.png?width=800)
![画像6](https://assets.st-note.com/production/uploads/images/72812639/picture_pc_85365eeced7518e9d082bb4d7d0ac6ef.png?width=800)
![画像7](https://assets.st-note.com/production/uploads/images/72812718/picture_pc_b19c31912003c13a3bfe65ef710bdf40.png?width=800)
![画像8](https://assets.st-note.com/production/uploads/images/72812818/picture_pc_2b3e7eeee6ae35844fa41ece1515f84a.png?width=800)
ただ、この方法はひとつ問題があります。
Ctrl + A ですべての列を選択してから、エラーの置換を実行したときに生成されるステップの数式は以下の通りです。
![画像9](https://assets.st-note.com/production/uploads/images/72812916/picture_pc_013fa26af97ec7f548b3cffa3940e4a1.png?width=800)
= Table.ReplaceErrorValues(ソース, {{"列A", 0}, {"列B", 0}, {"列C", 0}, {"列D", 0}, {"列E", 0}})
数式を見るとわかりますが、テーブルに含まれるすべての列の名前を指定してしてエラーを置換する、というものになっています。
このクエリで取得するテーブルの列構成が常に
『列A、列B、列C、列D、列E』
の5列であるなら問題ありませんが、クエリで取得するテーブルの列数が増えたり減ったり、列名が異なったりする場合、数式で指定する名前の列が存在しないことになりますので、このステップではエラーが発生してしまいます。
![画像10](https://assets.st-note.com/production/uploads/images/72813056/picture_pc_a7a2955707171a4adc2385a166d870ad.png?width=800)
![画像11](https://assets.st-note.com/production/uploads/images/72813107/picture_pc_c396d6afae5bcfb8b05c2cccae422fbe.png?width=800)
このように、それぞれの列名を指定した形でエラーを置換する数式では、列構成が変動するようなテーブルに対応することができません。
そこで、列の名前を指定することなく、テーブルのすべての列でエラーを置換するためには、『置換されたエラー』のステップの数式を、、、
【変更前】
= Table.ReplaceErrorValues(ソース,
{{"列A", 0}, {"列B", 0}, {"列C", 0}, {"列D", 0}, {"列E", 0}}
)
以下のように変更します。
ここから先は
¥ 500
よければサポートしていただけると嬉しいです😀 有用な記事や動画を制作していけるように頑張ります❗️