PowerQuery 条件により特定の行データを抽出・削除する

パワークエリで条件を用いて行データを削除する方法を紹介します。

複数条件設定や行番号を指定して行を削除する方法も合わせて解説します。

目次

条件による行の削除

条件により不要な行を削除するには「フィルター機能」を利用します。

ドノ

不要な行を削除するために
必要な行だけを残すようにフィルターをかけます!

フィルターの使い方

フィルター機能の使い方は以下の通りです

  1. 行削除のフィルターをかけたい列のフィルターボタンをクリックする。
  2. フィルター条件を設定してOKを選択する。※フィルター条件はデータ型ごとに用意されています。

フィルター条件の種類

次にフィルターの条件について紹介します。フィルター条件はデータ型に応じて準備されており、これらを使用することで複雑な条件の行削除にも対応できます。

テキスト・数値・日付のそれぞれデータ型のフィルター条件は下記の通りです。

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

条件による削除手順

使用手順の説明例として、下図データから「商品」にAを含まない行を削除します。

STEP
列とフィルター条件を選択する
  1. フィルターをかけたい列「商品」のフィルターボタンをクリックする。
  2. フィルター条件の「テキストフィルター」から「指定の値を含む」を選択する。
STEP
フィルター条件を設定する

条件設定で「指定の値を含む」で「A」を入力してOKをクリックする。

STEP
行の削除完了

以上で、「商品」列に「A」を含まない行の削除は完了です。下図のようにAを含む行のみが残っています。

ドノ

フィルタ条件を変更したい場合は、追加されたステップ「フィルターされた行」の横にある設定アイコンをクリックすれば可能です!

Sponsored link

複数条件による行の削除

複数条件により不要な行を削除するには「フィルター詳細設定」機能を利用します。

一つの列で複数のフィルター条件をかける場合と複数の列でフィルターをかける場合のどちらも行うことが可能です。

フィルター詳細設定の使い方

フィルター詳細設定は、設定画面で「詳細設定」を選択することで表示できます。

この詳細設定により複数列・複数条件のフィルタ設定が可能です。それぞれの設定項目については下記の通りです。

設定項目
  • および/または:「および」のAND条件 か 「または」のOR条件 を選択する
  • : フィルター条件を設定する列を指定する
  • 演算子: フィルタ条件を選択する
  • : 条件で利用する値を入力する(または選択する)
  • 句の追加:新しいフィルター条件を追加する
ドノ

フィルターの設定画面は列のフィルターボタンをクリックして「テキストフィルター」や「数値フィルター」を選択すれば表示されます

複数条件による削除手順

使用手順の説明例として、下図データから「商品」にAを含まない または 売上が500未満の行を削除します。

STEP
列とフィルター条件を選択する
  1. フィルターをかけたい列「商品」のフィルターボタンをクリックする。
  2. フィルター条件の「テキストフィルター」から「指定の値を含む」を選択する。
STEP
複数条件のフィルター設定する
  1. フィルター設定画面で「詳細設定」を選択する
  2. 条件設定で「商品がAを含む」および「売上が500以上」という条件設定をしてOKをクリックする

フィルター条件では削除条件ではなくて保持条件を設定します。
例えば、「500未満を削除」は「500以上を保持」と設定します。

STEP
複数条件での行削除の完了

以上で「商品にAを含まない」または「売上が500未満」の行の削除は完了です。図のように不要行が削除されています。

Sponsored link

上位・下位の行の削除

次に上位の行、下位の行を削除する方法を紹介します。

上位・下位・範囲の行の削除には「行の保持」「行の削除」ボタンを使用します。

上位の行の抽出・削除

行番号により上位の行を抽出・削除する場合、「上位の行を保持」「上位の行を削除」のボタンを使用します。

設定画面にて行数を入力する下図のように行を抽出・削除できます。

【使用手順】

STEP
データ準備

手順説明の例として、下図データの上位3行を保持します。

STEP
上位の行の保持
  1. ホームタブの行の保持にある「上位の行を保持」をクリックする。
  2. 設定画面で保持したい行数を入力してOKをクリックする(ここでは3を入力する)
STEP
上位の行の保持の完了

以上で上位の行の保持の完了です。下図のように上位3行だけが残されたテーブルとなっています。

下位の行の抽出・削除

行番号により下位の行を抽出・削除する場合、「下位の行を保持」「下位の行を削除」のボタンを使用します。

設定画面にて行数を入力する下図のように行を抽出・削除できます。

【使用手順】

STEP
データ準備

上位の行の抽出の例として、下図データの下位3行を削除します。

STEP
下位の行の削除
  1. ホームタブの行の削除にある「下位の行を削除」をクリックする。
  2. 設定画面で保持したい行数を入力してOKをクリックする(ここでは3を入力する)
STEP
下位の行の削除の完了

以上で下位の行の削除の完了です。下図のように下位3行が削除されたテーブルとなっています。

範囲指定による行の抽出

行範囲を抽出する場合、「行の範囲の保持」を使用します。設定項目は以下の2つです。

  • 先頭行:抽出する範囲の先頭の行番号を設定する
  • 行数: 指定した先頭行から下位の保持する行数を設定する

例えば、下図のデータで先頭行を「2」、行数を「3」と設定した場合はこのような結果となります。

【使用手順】

STEP
データ準備

範囲指定の行の抽出の例として、下図データの行番号2~4の行を抽出します。

STEP
行の範囲の保持
  1. ホームタブの行の保持にある「行の範囲の保持」をクリックする。
  2. 設定画面で先頭行と行数を入力してOKをクリックする(ここでは先頭行2、行数3を入力する)
STEP
行範囲の抽出の完了

以上で行範囲の抽出の完了です。下図のように行番号2~4が残されています。

範囲指定による行の削除

範囲指定で行を削除する場合、「代替行の削除」を使用します。設定項目は以下の3つです。

  • 削除する最初の行:削除する範囲の先頭の行番号を設定する
  • 削除する行の数: 指定した最初の行から下位の削除する行数を設定する
  • 保持する行の数: 削除範囲の下位で保持する行数を設定する

例えば、下図のデータで削除する最初の行を「2」、削除する行数を「2」、保持する行数を「1」と設定した場合はこのような結果となります。

【使用手順】

STEP
データ準備

上位の行の抽出の例として、下図データの行番号2~4と行番号7以降の行を削除します。

STEP
行の範囲の削除
  1. ホームタブの行の削除にある「代替行の削除」をクリックする。
  2. 設定画面で削除する最初の行、削除する行の数、保持する行の数を入力してOKをクリックする(ここではそれぞれ2、3、2を入力する)
STEP
行範囲の削除の完了

以上で行範囲の削除の完了です。下図のように行番号1と5と6が残されています。

Sponsored link

行番号による行の削除

次に、行番号指定で行を削除する方法を紹介します。

行番号指定による行削除には下記の2つの機能を利用します。

  • フィルター
  • インデックス列の追加

削除方法の説明例として、下図データ「商品」「売上」の行番号3行番号5の行を削除します。

STEP
インデックス列の追加

行番号を指定できるようにインデックス列を追加します。

列の追加タブの「インデックス列」の「1から」を選択して、1始まりのインデックス列を追加する。

STEP
削除する行番号を選択する

インデックス列のフィルターボタンをクリックして、削除する行番号3と5のチェックを外してOKをクリックする。

数値フィルターを利用すると、ある行番号以降の削除ある行番号以前の削除などが設定できます。

STEP
削除完了

以上で行番号の3と5の行の削除は完了です。

Sponsored link

特定の文字列以降の行の削除

最後に、ある列の特定の文字列以降の行を削除する方法を紹介します。

指定列で特定の文字列以下の行を削除するには下記の式を利用します。

Table.FirstN(元テーブル名,List.PositionOf(元テーブル名[列名],"指定文字列"))

元テーブル列名指定文字列は環境に応じて値を設定してください。

【使用手順】

STEP
データ準備

今回は下図のデータから列1にある”C”以降の行を削除します。

STEP
ステップの追加

クエリの設定内の「適用したステップ」にあるステップを右クリックして「後にステップを挿入」を選択する。

STEP
行削除式の入力

新しく追加したステップの数式バーに下記式を入力する。元テーブル名は変更された型、列名は列1、指定文字列はCと設定しています。

Table.FirstN(変更された型,List.PositionOf(変更された型[列1],"C"))

Table.FirstN は指定の数より上の行を保持する関数であり、List.PositionOf は列(リスト)の中にある指定文字の位置番号を調べる関数です。

STEP
行の削除完了

以上で完了です。下図のようにCより下の行は削除されています。

Sponsored link

Power Queryのおすすめ書籍

パワークエリの学習本についてはコチラの記事でまとめてますので参考にしてみてください。

初心者向けおすすめ学習本

初中級者向けおすすめ学習本

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

コメントは日本語で入力してください。(スパム対策)

CAPTCHA

目次