列内の値を上または下方向の空白セルへコピーする方法(フィル)[Power Query(パワークエリ)基礎]
AさんAさん

Power Query(パワークエリ)で結合されたセルのある表データを扱う際に「null」というデータが出てしまいますけど、どうしたら良いですか?

森田森田

「null」とは空白のセルということですね。
その場合、Power Queryエディター上の「フィル」というコマンドが便利ですよ!

具体的な使い方について解説していきますね。

解説動画:【パワークエリ#6】データクレンジング基本テクニック13選 - 元データを綺麗にするための不備修正の作業を自動化する

この記事の内容は下記の動画でも解説しています。
コメント欄の「フィル」の時間の部分をクリックするとフィルの解説へジャンプできますよ!

はじめに

本題に入る前に、この記事がおすすめな方を挙げてみます。

  • 表の空白セルを埋める作業(フィル操作)を自動化したい方
  • データ整形・加工の工程が複数あり、かつその作業が定期的に発生する方
  • Power Query(パワークエリ)の使い方を習得したい方

前提条件

この記事のテクニックを使うためには、以下の条件を満たす必要があります。

  • ExcelのバージョンはExcel2010以降(Microsoft365含む)が必須
  • Excel2010/2013ユーザーの場合、事前にMicrosoft社公式HPよりPower Query(パワークエリ)のダウンロードが必要(Excel2016以降は標準機能)
  • Power Query(パワークエリ)の概要を理解していること
    →まず、以下の記事で概要を把握することをおすすめします。

元データの空白セルを埋めたい場合に「フィル」は有効

フィルとは、列内の値を上または下方向の空白セルへコピーすることです。

このフィルが必要なケースは、次のようなイメージです。

よくあるのは、セル結合が含まれる表データをテーブル化したケースです。(Power Query(パワークエリ)で取り込む場合も元データの表はテーブル化されます)

テーブル化を行うと、それがきっかけでセル結合が解除され、結合セルの最上段のセル以外は空白セルになってしまうためですね。(よって、下方向のフィルが一般的です)

この空白セルがある状態だと、各レコードの集計がうまく行かない危険性があるため、しっかり正しいデータを埋めておく必要があります。

こうした場合にフィルが有効ですが、他のデータ整形作業とセットで行うなら、Power Query(パワークエリ)で行った方が、一連の作業手順を記録できて自動化できますよ!

では、Power Query(パワークエリ)でのフィルの手順を確認していきましょう。

Power Query(パワークエリ)でのフィル手順

今回の前提として、フィルを行う対象のテーブルはブック内にあり、事前にPower Queryエディターに取り込んでいる状態からスタートするとします。(ブック内のデータ取得について復習したい方は下記記事を参照)

また、今回のフィルは一般的な「下方向」で行っていきます。

まず、フィル対象のデータが含まれる列を選択(①)しましょう。

これは、通常のワークシート上の操作と同じ感覚で問題ありません。

ちなみに、ワークシート上の空白セルは、Power Queryエディター上では「null」と表示されますので、ご承知おきください。

次に、リボン「変換」タブをクリック(②)し、「フィル」をクリック(③)してください。

そのあと、フィルを行う方向を選択しますが、今回は下方向へコピーしたいので、「下」をクリック(④)します。

「プレビュー」ウィンドウ上で空白セルへのコピーが確認できたらOK

「プレビュー」ウィンドウを見ると、無事元々上にあった値が空白セルへコピーされていますね!

あとは、その他の処理を行い、任意の方法でデータを出力すれば完了です。

【参考】フィルの内容を変更したい場合は

もし、あとでフィルの方向を変更したい場合は、「クエリの設定」ウィンドウの該当のステップを一旦「×」で削除し、改めてフィルの処理を行えばOKです。

サンプルファイルで練習しよう!

可能であれば、以下のサンプルファイルをダウンロードして、実際に操作練習をしてみてください。

サンプルファイル_PowerQueryデータ整形_フィル.xlsx

※サンプルファイルのダウンロードには無料メルマガに登録いただく必要があります。
(上記リンクから登録フォームへ遷移します)

ファイルを開いたら、フィルを行う前に、Power Queryエディターを起動させてくださいね。
ブック起動時、「セキュリティの警告」メッセージが表示された場合は「コンテンツの有効化」をクリックしてください。

  1. リボン「データ」タブをクリック
  2. 「クエリと接続」をクリック
  3. 「商品マスタ(フィル)」クエリをダブルクリック

ここまで準備ができたら、次の手順を実施してください。(今までの解説のまとめです)

  1. フィル対象のデータが含まれる列を選択
  2. リボン「変換」タブをクリック
  3. 「フィル」をクリック
  4. 「下」をクリック
  5. OK」ボタンをクリック

本記事の解説と同じ結果になればOKです!

さいごに

いかがでしたでしょうか?

フィルはデータ整形作業の中でもオーソドックスな処理のひとつです。

特に、結合セルが含まれる表を整形する際には、マストなテクニックと言えるでしょう。

なお、Power Query(パワークエリ)の各種テクニックは、私の拙著でも体系的に解説していますので、こちらも参考にしてみてください。


ご参考になれば幸いですm(_ _)m

森田森田

結合セル解除後のフィルは、ワークシート上の機能でやろうと思うと、何気に面倒くさいんですよね。

たとえば、ワークシート上の「フィル」機能だと、「下方向へコピー」は複数のカテゴリデータを一括では処理できず、「フルーツ」や「野菜」ごとにいちいち範囲選択して「フィル」→「下方向へコピー」を行わないといけません。

また、これを回避するなら、ジャンプ機能で空白セルを一括選択し、任意の値を指定した数式を相対参照で一括入力するというテクニックが必要になり、ちょっと難易度が上がります。

それが、Power Query(パワークエリ)なら、本記事の解説のとおり、マウス操作を数回行うだけで同じことができ、非常に便利です。

ぜひ、まだPower Query(パワークエリ)を使ったことがない方もチャレンジしてみてくださいね!