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

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

行を保持する

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

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

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

    [ホーム] タブの [行の保持] のボタン。

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

    [テーブル] メニューの [行の保持] のボタン。

Note

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

上位の行を保持

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

すべてのテキスト データ型である列ヘッダー、7 行のデータ、コメントのセクションを含む最初のサンプル テーブル。

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

[上位の行の保持] ダイアログ ボックス。

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

7 行のデータが保持され、[単位] 列が数値データ型に設定された上位の行を保持した最後のサンプル テーブル。

下位の行を保持する

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

[下位の行の保持] 操作の最初のサンプル テーブル。

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

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

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

[下の行の保持] ダイアログ ボックス。

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

データの一部としての列ヘッダー行と 7 行のデータを含んだ、[下位の行の保持] 操作を実行した後のサンプル テーブル。

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

[下位の行の保持] の最後のサンプル テーブル。

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

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

行の範囲を保持する

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

[行の範囲の保持] 操作の最初のサンプル テーブル。

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

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

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

[行の範囲の保持] ダイアログ ボックス。

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

データの一部としての列ヘッダー行と 7 行のデータを含んだ、[行の範囲の保持] 操作を実行した後のサンプル テーブル。

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

[行の範囲の保持] の最後のサンプル テーブル。

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

行の削除

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

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

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

    [ホーム] タブの [行の削除] のボタン。

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

    [テーブル] メニューの [行の削除] の操作。

上位の行の削除

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

[上位の行の削除] の最初のサンプル テーブル。

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

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

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

[上位の行の削除] ダイアログ ボックス。

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

データの一部としての列ヘッダー行と 7 行のデータを含んだ、[上位の行の削除] 操作を実行した後のサンプル テーブル。

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

[上位の行の削除] の最後のサンプル テーブル。

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

末尾の行を削除する

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

[下位の行の削除] の最初のサンプル テーブル。

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

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

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

[下位の行の削除] ダイアログ ボックス。

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

[単位] 列が数値データ型に設定され、7 行のデータが保持された [下位の行の削除] の最後のサンプル テーブル。

代替行を削除する

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

[代替行の削除] 操作の最初のサンプル テーブル。

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

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

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

  • [削除する最初の行] ボックスに「2」と入力します。

    2 行目からカウントを開始します。 この削除する最初の行より上のすべての行は保持されます。

  • [削除する行の数] ボックスに、「1」と入力します。

    次に、行を削除するパターンの定義を開始します。 2 行目を見つけたら、その特定の行のみを削除するので、1 行だけを削除する必要があることを指定します。

  • [保持する行の数] ボックスに、「1」と入力します。

    1 行を削除した後は、次の行を保持します。 次の行に対してプロセスが再度開始されます。

[代替行の削除] ダイアログ ボックス。

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

[単位] 列が数値データ型に設定され、7 行のデータが保持された [代替行の削除] の最後のサンプル テーブル。