スポンサーリンク
ExcelのPowerQueryは、作り方のよろしくないExcelシートのデータを整形する(もちろん、元データの方には手を加えずに)のにも便利だ。
今回はその1つとして、同じデータが続いている場合に、何も書かないなどの省略した書き方をしているデータを整形する方法を扱う。
nullデータをフィルする
下図の例では、列「区」が、同じデータが続く時には省略する書き方をしていて、セル結合までされている。
こういうExcelデータの作り方はくれぐれも真似してはいけないが、こういうのを渡されたとして、PowerQueryで整形してみよう。
PowerQueryでデータを読み込むと、セル結合された部分も融通を利かせて読み込んでくれて、下図のように、1番上のセル以外はnull(何もない)ということにされる。
ではここで、
リボン「変換」タブ
→フィル
から「下」を選ぼう。要は、一番上のデータを下方向にフィル=埋めてくれるというコマンドだ。
「上」のフィルを使う用途は私には思い浮かばないけど。
フィルをした結果、「null」となっていたデータには、その上にある区のデータが埋め込まれた。
Excelの一覧表のデータはこのように、同じデータが続く場合も省略しないように作るべきであるし、セル結合などもってのほかだ。
置換してからフィルする
では次の例。
下図の「区」は、上と同じデータである場合に「〃」記号で書いている。
こういうデータの作り方もしてはいけないので、PowerQueryで整形しよう。
この例では、同じデータが続いている場合にnull(何もない)になっているわけではないので、フィル機能は使えない。
「〃」記号が使われているから、これを消してしまってnullにする方向で考えてみる。
では、
リボン「ホーム」タブ
→値の置換
としよう。
通常のExcelシートにおける置換機能と同様に、何の文字を何の文字に置換したいか、入力する画面が出てくる。
ここの「検索する値」に今回は文字「〃」を入れれば良い。そして「置換後」欄には何も入れない状態にして「OK」を押す。
置換後は、文字「〃」 が「null」に変わるので、最初と同様に「フィル」コマンドを実行すれば良い。
補足
もう1つの「値の置換」コマンド
「値の置換」について、
リボン「ホーム」タブ
→値の置換
とやるほかに
リボン「変換」タブ
→値の置換
から出てくる「値の置換」コマンドを使っても良い。
こちらのコマンドでは「エラーの置換」という派生メニューも出てくる。
置換実行前のカーソル合わせ
「値の置換」のとき、今回の場合は置換を掛けたい「区」列にカーソルが合っていれば良い。
だが今回は文字列「〃」をまんま置換してしまいたいわけで、下図でいう2行目などの、文字列「〃」がそのまま書かれているセルに、カーソルを合わせておいてから「値の置換」をやれば次が楽になる。
つまり、「値の置換」の次の画面で「検索する値」に最初から文字列「〃」 が入った状態にしておくことができるということだ。
スポンサーリンク