Excel PowerQuery データの空白を埋める

Microsoft Excel

スポンサーリンク

ExcelのPowerQueryは、作り方のよろしくないExcelシートのデータを整形する(もちろん、元データの方には手を加えずに)のにも便利だ。

今回はその1つとして、同じデータが続いている場合に、何も書かないなどの省略した書き方をしているデータを整形する方法を扱う。

PowerQuery エディターの基礎

nullデータをフィルする

下図の例では、列「区」が、同じデータが続く時には省略する書き方をしていて、セル結合までされている。

こういうExcelデータの作り方はくれぐれも真似してはいけないが、こういうのを渡されたとして、PowerQueryで整形してみよう。

PowerQueryでデータを読み込むと、セル結合された部分も融通を利かせて読み込んでくれて、下図のように、1番上のセル以外はnull(何もない)ということにされる。

ではここで、

リボン「変換」タブ
フィル

から「下」を選ぼう。要は、一番上のデータを下方向にフィル=埋めてくれるというコマンドだ。
「上」のフィルを使う用途は私には思い浮かばないけど。

フィルをした結果、「null」となっていたデータには、その上にある区のデータが埋め込まれた。

Excelの一覧表のデータはこのように、同じデータが続く場合も省略しないように作るべきであるし、セル結合などもってのほかだ。

置換してからフィルする

では次の例。
下図の「区」は、上と同じデータである場合に「〃」記号で書いている。

こういうデータの作り方もしてはいけないので、PowerQueryで整形しよう。

この例では、同じデータが続いている場合にnull(何もない)になっているわけではないので、フィル機能は使えない。

「〃」記号が使われているから、これを消してしまってnullにする方向で考えてみる。

では、
リボン「ホーム」タブ
値の置換

としよう。

通常のExcelシートにおける置換機能と同様に、何の文字を何の文字に置換したいか、入力する画面が出てくる。

ここの「検索する値」に今回は文字「〃」を入れれば良い。そして「置換後」欄には何も入れない状態にして「OK」を押す。

置換後は、文字「〃」 が「null」に変わるので、最初と同様に「フィル」コマンドを実行すれば良い。

Excelの検索と置換の機能について

補足

もう1つの「値の置換」コマンド

「値の置換」について、

リボン「ホーム」タブ
→値の置換

とやるほかに

リボン「変換」タブ
→値の置換

から出てくる「値の置換」コマンドを使っても良い。

こちらのコマンドでは「エラーの置換」という派生メニューも出てくる。

置換実行前のカーソル合わせ

「値の置換」のとき、今回の場合は置換を掛けたい「区」列にカーソルが合っていれば良い。

だが今回は文字列「〃」をまんま置換してしまいたいわけで、下図でいう2行目などの、文字列「〃」がそのまま書かれているセルに、カーソルを合わせておいてから「値の置換」をやれば次が楽になる。

つまり、「値の置換」の次の画面で「検索する値」に最初から文字列「〃」 が入った状態にしておくことができるということだ。

スポンサーリンク