PR

Power Queryで不要な行を削除する(条件指定)

Power Query基礎
スポンサーリンク

Excelのフィルターを使って、条件を指定してデータに絞り込む(不要な行を非表示にする)ことが出来ます。

フィルターの▼ボタンから、フィルター機能を使うことが出来ます。

数値フィルターであれば、参加人数が10人以上に絞り込むなどが出来ます。

絞り込んだあとは、次のように参加人数が10人未満の人が非表示なります。

フィルターの種類は色々あり、Excelであれば次の3種類あります。※Power Queryはもっと細かくなります。

  • テキストフィルター
  • 数値フィルター
  • 日付フィルター

Power Queryは同等のフィルター機能があります。次のサンプルデータを元に、フィルター機能を使って不要な行を削除する方法について紹介します。

スポンサーリンク

事前準備

サンプルデータをデータ取得します。

サンプルデータのテーブル内のセルをクリックし、「データ」タブの「テーブルまたは範囲から」をクリックします。

データ取得が終わり、Power Queryエディターが開きました。意図したデータ型になっていなければ、必要に応じて修正しましょう。

条件を指定して行を削除する

データ取得が終わったので、フィルターしてみましょう。

▼ボタンをクリックすると、フィルター条件を指定できます。

例では「テキスト フィルター」と表示されていますが、データ型に応じて種類が分かれています。

フィルターの種類

フィルターの種類は次のとおりです。

  • テキストフィルター
  • 数値フィルター
  • 日付フィルター
  • 時間フィルター
  • 論理フィルター

それぞれ指定できる条件が異なります。

テキストフィルター
  • 指定の値に等しい
  • 指定の値と等しくない
  • 指定の値で始まる
  • 次の値で始まらない
  • 指定の値で終わる
  • 次の値で終わらない
  • 指定の値を含む
  • 指定の値を含まない
数値フィルター
  • 指定の値に等しい
  • 指定の値と等しくない
  • 指定の値より大きい
  • 指定の値以上
  • 指定の値より小さい
  • 指定の値以下
  • 指定の値の間
日付フィルター
  • 指定の値に等しい
  • 次の値より前
  • 次の値より後
  • 指定の値の間
  • 次の
  • 前の
  • 最も早い
  • 最も遅い
  • 最も早いものではない
  • 最も遅いものではない
  • 年/ 四半期/ 月/ 週/ 日/ 時/ 分/ 秒
  • カスタムフィルター
時間フィルター
  • 指定の値に等しい
  • 指定の値と等しくない
  • 指定の値より大きい
  • 指定の値以上
  • 指定の値より小さい
  • 指定の値以下
  • 指定の値の間
  • 最も早い
  • 最も遅い
  • 最も早いものではない
  • 最も遅いものではない
論理フィルター
  • 指定の値に等しい
  • 指定の値と等しくない

特定の列の値に一致する行以外を削除する

例えば日付が2025/3/10以外を削除したい場合は、日付列の▼ボタンをクリックし、値のリストから2025/3/10のみチェックを入れます。

日付が2025/3/10以外の行が削除されます。

生成された数式を見ると、Table.SelectRows関数が使われています。

= Table.SelectRows(変更された型, each ([日付] = #date(2025, 3, 10)))

第2引数にフィルター条件が入ります。日付が2025/3/10と一致する行を抽出した式になっています。

空の値を持つ行を削除する

空の値というのは、値が何も入っていないセルのことを指します。

削除したい列の▼ボタンをクリックし、「空の削除」をクリックします。例では備考列になります。

備考に値が入っている行以外が削除されました。

生成された数式を見ると、先ほどと同様にTable.SelectRows関数が使われています。

= Table.SelectRows(変更された型, each [備考] <> null and [備考] <> "")

空を削除するため、nullと””(ブランク)以外を抽出した式になっています。

フィルター条件から条件指定して行を削除する

指定の値より大きい、小さいなど、フィルター条件から条件指定して行を削除する事ができます。

例えば日付が2025/3/12以前を削除したい場合、日付列の▼ボタンをクリックし、「日付フィルター」ー「次の値よりも後」をクリックします。

「値の入力または選択」に2025/3/12を入力し、OKをクリックします。

2025/3/12以前の行が削除されました。

生成された数式を見ると、先ほどと同様にTable.SelectRows関数が使われています。

= Table.SelectRows(変更された型, each [日付] > #date(2025, 3, 12))

日付が2025/3/12より大きい行を抽出した式になっています。

スポンサーリンク
Power Queryの学習に役立つおすすめ本
初心者向け 初心者~中級者向け 中級者~上級者向け
プロフィール
たがみ

IT業界20年程度のシステムエンジニアです。
構築したシステムのデータ検証をExcelで実施することが多く、検証作業の効率化を模索しているときにPower Queryと出会いました。
Excel業務効率化の手助けになればと当ブログを解説しました。
今ではデータ分析でPower BIを活用しており、Power BI、Excelの両方でPower Queryを活用しています。

たがみをフォローする
Power Query基礎
たがみをフォローする
タイトルとURLをコピーしました