行の位置でテーブルをフィルター処理する

Power Query には、行の位置に基づいてテーブルをフィルター処理するオプションが複数あり、これらの行を保持するか削除することができます。 この記事では、使用可能なすべての方法について説明します。

行を保持する

一連の [行の保持] 関数は、テーブルから一連の行を選択し、条件を満たしていないその他の行を削除します。

[行の保持] ボタンは、次の 2 か所に置かれています。

  • [ホーム] タブの [行の削減] グループ。

    Keep rows button on the Home tab.

  • [テーブル] メニュー。

    Keep rows buttons on the table menu.

注意

[Power Query] ウィンドウの中央にある [データ プレビュー] セクションでは、テーブルの左側で行の位置を確認できます。 各行の位置は、数値で表されます。 先頭の行は、位置 1 から始まります。

上位の行を保持

次のテーブルが固定レイアウトでシステムから取得されたとします。

Initial sample table with column headers that are all of the Text data type, seven rows of data, then a section for comments.

このレポートには、常に 7 行のデータが含まれており、そのデータの下には、行数が不明なコメントのセクションが含まれています。 この例では、最初の 7 行のデータのみを保持します。 これを行うには、[テーブル] メニューの [上位の行の保持] を選択します。 [上位の行の保持] ダイアログ ボックスの [行数] ボックスに「7」と入力します。

Keep top rows dialog box.

この変更の結果、求めている出力テーブルが得られます。 列のデータ型を設定した後、テーブルは次の図のようになります。

Final sample table for keep top rows with seven rows of data retained and the units column set to the Number data type.

下位の行を保持する

次のテーブルが固定レイアウトでシステムから取得されたとします。

Initial sample table for Keep bottom rows operation.

すべてテキスト データ型に設定された列ヘッダー (Column1、Column2、Column3)、データを含む下位の 7 行、それより上に列ヘッダー行と不明な数のコメントを含んだ最初のサンプル テーブル。

このレポートには常に、レポート ページの末尾に 7 行のデータが含まれています。 データより上には、不明な行数のコメント用のセクションが含まれています。 この例では、最後の 7 行のデータとヘッダー行だけを保持します。

これを行うには、[テーブル] メニューの [下位の行の保持] を選択します。 [下位の行の保持] ダイアログ ボックスの [行数] ボックスに「8」と入力します。

Keep bottom rows dialog box.

この操作の結果として 8 行が返されますが、ヘッダー行がテーブルの一部になっています。

Sample table after performing Keep bottom rows operation, with a column header row as part of the data and then seven rows of data.

テーブルの最初の行から列ヘッダーに昇格させる必要があります。 これを行うには、[テーブル] メニューの [1 行目をヘッダーとして使用] を選択します。 列のデータ型を定義したら、次の図のようなテーブルが作成されます。

Final sample table for Keep bottom rows.

最初の行を列ヘッダーに昇格させ、7 行のデータを保持した後で、[単位] を数値データ型に設定した [下位の行の保持] の最後のサンプル テーブル。

詳細情報: 列ヘッダーのレベル上げ/下げ

行の範囲を保持する

次のテーブルが固定レイアウトでシステムから取得されたとします。

Initial sample table for the Keep a range of rows operation.

列 (Column1、Column2、Column3) がすべてテキスト データ型に設定され、列ヘッダーと 7 行のデータをテーブルの中央に含んだ最初のサンプル テーブル。

このレポートには常に、5 行のヘッダー、ヘッダーの下に 1 行の列ヘッダー、列ヘッダーの下に 7 行のデータ、不明行数のコメント セクションが含まれます。 この例では、レポートのヘッダー セクション後の 8 行のみを取得します。

これを行うには、[テーブル] メニューの [行の範囲の保持] を選択します。 [行の範囲の保持] ダイアログ ボックスの [先頭行] ボックスに「6」、 [行数] ボックスに「8」と入力します。

Keep range of rows dialog box.

下位の行を保持した前の例と同様に、この操作の結果、テーブルの一部としての列ヘッダーを含んだ 8 行が表示されます。 定義した [先頭行] (行 6) より上の行は削除されます。

Sample table after performing the Keep range of rows operation, with the column header row as part of the data and then seven rows of data.

下位の行を保持する」で説明したものと同じ操作を実行して、テーブルの最初の行から列ヘッダーに昇格させることができます。 列のデータ型を設定した後、テーブルは次の図のようになります。

Final sample table for Keep range of rows.

最初の行を列ヘッダーに昇格させ、[単位] 列を数値データ型に設定し、7 行のデータを保持した後の [行の範囲の保持] の最後のサンプル テーブル。

行を削除する

この一連の関数では、テーブルから一連の行を選択して削除し、テーブル内の残りの行を保持します。

[行の削除] ボタンは、次の 2 か所に置かれています。

  • [ホーム] タブの [行の削減] グループ。

    Remove rows button on the Home tab.

  • [テーブル] メニュー。

    Remove rows operations on the table menu.

先頭の行を削除する

次のテーブルが固定レイアウトでシステムから取得されたとします。

Initial sample table for Remove top rows.

すべてテキスト データ型に設定された列 (Column1、Column2、Column3)、上位のヘッダー、下位の列ヘッダー行と 7 行のデータ行を含む [上位の行の削除] の最初のサンプル テーブル。

このレポートには常に、テーブルの行 1 から行 5 まで固定ヘッダーが含まれています。 この例では、これらの最初の 5 行を削除し、残りのデータを保持します。

これを行うには、[テーブル] メニューの [上位の行の削除] を選択します。 [上位の行の削除] ダイアログ ボックスの [行数] ボックスに「5」と入力します。

Remove top rows dialog box.

[下位の行の保持] と [行の範囲の保持] の前の例と同じように、この操作の結果、テーブルの一部としての列ヘッダーを含む 8 行が表示されます。

Sample table after performing the Remove top rows operation, with a column header row as part of the data and then seven rows of data.

以前の例で説明したものと同じ操作を実行して、テーブルの最初の行から列ヘッダーに昇格させることができます。 列のデータ型を設定した後、テーブルは次の図のようになります。

Final sample table for Remove top rows.

最初の行を列ヘッダーに昇格させ、[単位] 列を数値データ型に設定し、7 行のデータを保持した後の [上位の行の削除] の最後のサンプル テーブル。

末尾の行を削除する

次のテーブルが固定レイアウトでシステムから取得されたとします。

Initial sample table for Remove bottom rows.

すべてがテキスト データ型に設定されたヘッダー列、7 行のデータ、下位にある固定長のフッターを含む [下位の行の削除] の最初のサンプル テーブル。

このレポートには常に、テーブルの最後の 5 行を占有する固定セクションまたはフッターが含まれています。 この例では、これらの最後の 5 行を削除し、残りのデータを保持します。

これを行うには、[テーブル] メニューの [下位の行の削除] を選択します。 [下位の行の削除] ダイアログ ボックスの [行数] ボックスに「5」と入力します。

Remove bottom rows dialog box.

この変更の結果、求めている出力テーブルが得られます。 列のデータ型を設定した後、テーブルは次の図のようになります。

Final sample table for Remove bottom rows with the Units column set to the Number data typea and the seven rows of data retained.

代替行を削除する

次のテーブルが動的レイアウトでシステムから取得されたとします。

Initial sample table for the Remove alternate rows operation.

すべてテキスト データ型に設定された存在する列ヘッダーと、その上のデータ行に関するコメントを含む他のすべてのデータ行を含んだ最初のサンプル テーブル。

このレポートは、行のペアで要素が配置されるという構成になっています。 すべての奇数行 (1、3、5...) には、必要なデータが含まれています。 各奇数行の直下にあるすべての偶数行には、それらのレコードそれぞれに関するコメントが含まれます。 コメントは必要ないため、すべてのコメントを削除します。

これを行うには、[テーブル] メニューの [代替行の削除] を選択します。 [代替行の削除] ダイアログ ボックスで、次の値を入力します。

  • [削除する最初の行] ボックスに「2」と入力します。
    2 行目からカウントを開始します。 この削除する最初の行より上のすべての行は保持されます。
  • [削除する行の数] ボックスに、「1」と入力します。
    次に、行を削除するパターンの定義を開始します。 2 行目を見つけたら、その特定の行のみを削除するので、1 行だけを削除する必要があることを指定します。
  • [保持する行の数] ボックスに、「1」と入力します。
    1 行を削除した後は、次の行を保持します。 次の行に対してプロセスが再度開始されます。

Remove alternate rows dialog box.

この選択の結果、求めている出力テーブルが得られます。 列に対してデータ型を設定した後、テーブルは次の図のようになります。

Final sample table for Remove alternate rows with the Unit column set to the Number data type and the seven rows of data retained.